static extern int AcceptSecurityContext(ref SECURITY_HANDLE phCredential,
                                         IntPtr phContext,
                                         ref SecBufferDesc pInput,
                                         uint fContextReq,
                                         uint TargetDataRep,
                                         out SECURITY_HANDLE phNewContext,
                                         out SecBufferDesc pOutput,
                                         out uint pfContextAttr,
                                         out SECURITY_INTEGER ptsTimeStamp);
 static extern int AcquireCredentialsHandle(
     string pszPrincipal,
     string pszPackage,
     int fCredentialUse,
     IntPtr PAuthenticationID,
     IntPtr pAuthData,
     int pGetKeyFn,
     IntPtr pvGetKeyArgument,
     ref SECURITY_HANDLE phCredential,
     ref SECURITY_INTEGER ptsExpiry);
 static extern int InitializeSecurityContext(
     ref SECURITY_HANDLE phCredential,
     ref SECURITY_HANDLE phContext,
     string pszTargetName,
     int fContextReq,
     int Reserved1,
     int TargetDataRep,
     ref SecBufferDesc SecBufferDesc,
     int Reserved2,
     out SECURITY_HANDLE phNewContext,
     out SecBufferDesc pOutput,
     out uint pfContextAttr,
     out SECURITY_INTEGER ptsExpiry);