
[ uuid (A4F1DB10-CA47-1067-B31e-12DD010662DA),
  version(1.0),
  pointer_default(unique)
]

interface SecServ_i
{
unsigned long RemoteImpersonate(
                          [in] handle_t  hBind,
                          [in, out, ptr, string] unsigned char ** achBuf,
                          [in]  unsigned long  fImpersonate );

unsigned long RemoteGuest(
                          [in] handle_t  hBind,
                          [in, out, ptr, string] unsigned char ** achBuf,
                          [in]  unsigned long  fGuest,
                          [in,  ptr, string] unsigned char * pszUserName ) ;

unsigned long RemoteLdap( [in] handle_t  hBind,
                          [in, out, ptr, string] unsigned char ** achBuf,
                          [in, ptr, string] unsigned char * pszHost,
                          [in, ptr, string] unsigned char * pszBaseDN,
                          [in]  unsigned long  fImpersonate,
                          [in]  unsigned long  fGuest,
                          [in,  ptr, string] unsigned char * pszUserName ) ;

unsigned long RemoteADSITestQuery(
					      [in] handle_t  hBind,
                          [in, out, ptr, string] unsigned char ** achBuf,
                          [in]  unsigned long  fFromGC,
                          [in]  unsigned long  fWithDC,
                          [in,  ptr, string] unsigned char * pszDCName,
                          [in,  ptr, string] unsigned char * pszSearchValue,
                          [in,  ptr, string] unsigned char * pszSearchRoot,
                          [in]  unsigned long  fWithCredentials,
                          [in,  ptr, string] unsigned char * pszUserName,
                          [in,  ptr, string] unsigned char * pszUserPwd,
                          [in]  unsigned long  fWithSecuredAuthentication,
                          [in] unsigned long  fImpersonate ) ;

unsigned long RemoteADSITestCreate(
					      [in] handle_t  hBind,
                          [in, out, ptr, string] unsigned char ** achBuf,
                          [in]  unsigned long  fWithDC,
                          [in,  ptr, string] unsigned char * pszDCName,
                          [in,  ptr, string] unsigned char * pszObjectName,
                          [in,  ptr, string] unsigned char * pszDomain,
                          [in]  unsigned long  fWithCredentials,
                          [in,  ptr, string] unsigned char * pszUserName,
                          [in,  ptr, string] unsigned char * pszUserPwd,
                          [in]  unsigned long  fWithSecuredAuthentication,
                          [in] unsigned long  fImpersonate ) ;

unsigned long RemoteOpenProcess( [in] handle_t       hBind,
                                 [in] unsigned long  dwProcessId,
                                 [in] unsigned long  fImpersonate ) ;

void Shutdown(void);

}

