public static extern int AcquireCredentialsHandle( string pszPrincipal, string pszPackage, int fCredentialUse, IntPtr pvLogonID, SEC_WINNT_AUTH_IDENTITY pAuthData, int pGetKeyFn, IntPtr pvGetKeyArgument, ref SecurityHandle phCredential, ref long ptsExpiry);
public static extern int AcceptSecurityContext( ref SecurityHandle phCredential, IntPtr phContext, IntPtr input, uint fContextReq, uint TargetDataRep, ref SecurityHandle phNewContext, [In, Out][MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(SecurityBufferMarshaler))] SecurityBufferDescription pOutput, out uint pfContextAttr, out long timeStamp);
public static extern int InitializeSecurityContext( ref SecurityHandle phCredential, IntPtr phContext, string pszTargetName, uint fContextReq, int Reserved1, uint TargetDataRep, IntPtr pInput, int Reserved2, ref SecurityHandle phNewContext, [In, Out][MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(SecurityBufferMarshaler))] SecurityBufferDescription pOutput, out uint pfContextAttr, out long timeStamp);
public static extern int QueryContextAttributes( ref SecurityHandle phContext, uint ulAttribute, IntPtr pContextAttributes);