* Annotate sspi.h.

svn path=/trunk/; revision=59897
This commit is contained in:
Amine Khaldi 2013-08-30 10:17:22 +00:00
parent fbf42a5901
commit baeeaa9cf5

View file

@ -126,11 +126,10 @@ typedef struct _SecPkgInfoW
#define SECPKG_FLAG_APPCONTAINER_PASSTHROUGH 0x00400000 #define SECPKG_FLAG_APPCONTAINER_PASSTHROUGH 0x00400000
#define SECPKG_FLAG_APPCONTAINER_CHECKS 0x00800000 #define SECPKG_FLAG_APPCONTAINER_CHECKS 0x00800000
typedef struct _SecBuffer typedef struct _SecBuffer {
{ ULONG cbBuffer;
ULONG cbBuffer; ULONG BufferType;
ULONG BufferType; _Field_size_bytes_(cbBuffer) void *pvBuffer;
void *pvBuffer;
} SecBuffer, *PSecBuffer; } SecBuffer, *PSecBuffer;
/* values for BufferType */ /* values for BufferType */
@ -155,11 +154,10 @@ typedef struct _SecBuffer
#define SECBUFFER_READONLY_WITH_CHECKSUM 0x10000000 #define SECBUFFER_READONLY_WITH_CHECKSUM 0x10000000
#define SECBUFFER_RESERVED 0x60000000 #define SECBUFFER_RESERVED 0x60000000
typedef struct _SecBufferDesc typedef struct _SecBufferDesc {
{ ULONG ulVersion;
ULONG ulVersion; ULONG cBuffers;
ULONG cBuffers; _Field_size_(cBuffers) PSecBuffer pBuffers;
PSecBuffer pBuffers;
} SecBufferDesc, *PSecBufferDesc; } SecBufferDesc, *PSecBufferDesc;
/* values for ulVersion */ /* values for ulVersion */
@ -168,10 +166,18 @@ typedef struct _SecBufferDesc
typedef void (SEC_ENTRY *SEC_GET_KEY_FN)(void *Arg, void *Principal, typedef void (SEC_ENTRY *SEC_GET_KEY_FN)(void *Arg, void *Principal,
ULONG KeyVer, void **Key, SECURITY_STATUS *Status); ULONG KeyVer, void **Key, SECURITY_STATUS *Status);
SECURITY_STATUS SEC_ENTRY EnumerateSecurityPackagesA(PULONG pcPackages, SECURITY_STATUS
PSecPkgInfoA *ppPackageInfo); SEC_ENTRY
SECURITY_STATUS SEC_ENTRY EnumerateSecurityPackagesW(PULONG pcPackages, EnumerateSecurityPackagesA(
PSecPkgInfoW *ppPackageInfo); _Out_ PULONG pcPackages,
_Outptr_ PSecPkgInfoA *ppPackageInfo);
SECURITY_STATUS
SEC_ENTRY
EnumerateSecurityPackagesW(
_Out_ PULONG pcPackages,
_Outptr_ PSecPkgInfoW *ppPackageInfo);
#define EnumerateSecurityPackages WINELIB_NAME_AW(EnumerateSecurityPackages) #define EnumerateSecurityPackages WINELIB_NAME_AW(EnumerateSecurityPackages)
typedef SECURITY_STATUS (SEC_ENTRY *ENUMERATE_SECURITY_PACKAGES_FN_A)(PULONG, typedef SECURITY_STATUS (SEC_ENTRY *ENUMERATE_SECURITY_PACKAGES_FN_A)(PULONG,
@ -180,10 +186,20 @@ typedef SECURITY_STATUS (SEC_ENTRY *ENUMERATE_SECURITY_PACKAGES_FN_W)(PULONG,
PSecPkgInfoW *); PSecPkgInfoW *);
#define ENUMERATE_SECURITY_PACKAGES_FN WINELIB_NAME_AW(ENUMERATE_SECURITY_PACKAGES_FN_) #define ENUMERATE_SECURITY_PACKAGES_FN WINELIB_NAME_AW(ENUMERATE_SECURITY_PACKAGES_FN_)
SECURITY_STATUS SEC_ENTRY QueryCredentialsAttributesA( SECURITY_STATUS
PCredHandle phCredential, ULONG ulAttribute, void *pBuffer); SEC_ENTRY
SECURITY_STATUS SEC_ENTRY QueryCredentialsAttributesW( QueryCredentialsAttributesA(
PCredHandle phCredential, ULONG ulAttribute, void *pBuffer); _In_ PCredHandle phCredential,
_In_ ULONG ulAttribute,
_Inout_ void *pBuffer);
SECURITY_STATUS
SEC_ENTRY
QueryCredentialsAttributesW(
_In_ PCredHandle phCredential,
_In_ ULONG ulAttribute,
_Inout_ void *pBuffer);
#define QueryCredentialsAttributes WINELIB_NAME_AW(QueryCredentialsAttributes) #define QueryCredentialsAttributes WINELIB_NAME_AW(QueryCredentialsAttributes)
typedef SECURITY_STATUS (SEC_ENTRY *QUERY_CREDENTIALS_ATTRIBUTES_FN_A) typedef SECURITY_STATUS (SEC_ENTRY *QUERY_CREDENTIALS_ATTRIBUTES_FN_A)
@ -208,14 +224,32 @@ typedef struct _SecPkgCredentials_NamesW
#define SecPkgCredentials_Names WINELIB_NAME_AW(SecPkgCredentials_Names) #define SecPkgCredentials_Names WINELIB_NAME_AW(SecPkgCredentials_Names)
SECURITY_STATUS SEC_ENTRY AcquireCredentialsHandleA( SECURITY_STATUS
SEC_CHAR *pszPrincipal, SEC_CHAR *pszPackage, ULONG fCredentialsUse, SEC_ENTRY
PLUID pvLogonID, PVOID pAuthData, SEC_GET_KEY_FN pGetKeyFn, AcquireCredentialsHandleA(
PVOID pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry); _In_opt_ SEC_CHAR *pszPrincipal,
SECURITY_STATUS SEC_ENTRY AcquireCredentialsHandleW( _In_ SEC_CHAR *pszPackage,
SEC_WCHAR *pszPrincipal, SEC_WCHAR *pszPackage, ULONG fCredentialsUse, _In_ ULONG fCredentialsUse,
PLUID pvLogonID, PVOID pAuthData, SEC_GET_KEY_FN pGetKeyFn, _In_opt_ PLUID pvLogonID,
PVOID pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry); _In_opt_ PVOID pAuthData,
_In_opt_ SEC_GET_KEY_FN pGetKeyFn,
_In_opt_ PVOID pvGetKeyArgument,
_Out_ PCredHandle phCredential,
_Out_opt_ PTimeStamp ptsExpiry);
SECURITY_STATUS
SEC_ENTRY
AcquireCredentialsHandleW(
_In_opt_ SEC_WCHAR *pszPrincipal,
_In_ SEC_WCHAR *pszPackage,
_In_ ULONG fCredentialsUse,
_In_opt_ PLUID pvLogonID,
_In_opt_ PVOID pAuthData,
_In_opt_ SEC_GET_KEY_FN pGetKeyFn,
_In_opt_ PVOID pvGetKeyArgument,
_Out_ PCredHandle phCredential,
_Out_opt_ PTimeStamp ptsExpiry);
#define AcquireCredentialsHandle WINELIB_NAME_AW(AcquireCredentialsHandle) #define AcquireCredentialsHandle WINELIB_NAME_AW(AcquireCredentialsHandle)
/* flags for fCredentialsUse */ /* flags for fCredentialsUse */
@ -233,29 +267,51 @@ typedef SECURITY_STATUS (SEC_ENTRY *ACQUIRE_CREDENTIALS_HANDLE_FN_W)(
PCredHandle, PTimeStamp); PCredHandle, PTimeStamp);
#define ACQUIRE_CREDENTIALS_HANDLE_FN WINELIB_NAME_AW(ACQUIRE_CREDENTIALS_HANDLE_FN_) #define ACQUIRE_CREDENTIALS_HANDLE_FN WINELIB_NAME_AW(ACQUIRE_CREDENTIALS_HANDLE_FN_)
SECURITY_STATUS SEC_ENTRY FreeContextBuffer(PVOID pv); SECURITY_STATUS SEC_ENTRY FreeContextBuffer(_Inout_ PVOID pv);
typedef SECURITY_STATUS (SEC_ENTRY *FREE_CONTEXT_BUFFER_FN)(PVOID); typedef SECURITY_STATUS (SEC_ENTRY *FREE_CONTEXT_BUFFER_FN)(_Inout_ PVOID);
SECURITY_STATUS SEC_ENTRY FreeCredentialsHandle(PCredHandle SECURITY_STATUS
phCredential); SEC_ENTRY
FreeCredentialsHandle(
_In_ PCredHandle phCredential);
#define FreeCredentialHandle FreeCredentialsHandle #define FreeCredentialHandle FreeCredentialsHandle
typedef SECURITY_STATUS (SEC_ENTRY *FREE_CREDENTIALS_HANDLE_FN)(PCredHandle); typedef SECURITY_STATUS (SEC_ENTRY *FREE_CREDENTIALS_HANDLE_FN)(PCredHandle);
SECURITY_STATUS SEC_ENTRY InitializeSecurityContextA( SECURITY_STATUS
PCredHandle phCredential, PCtxtHandle phContext, SEC_ENTRY
SEC_CHAR *pszTargetName, ULONG fContextReq, InitializeSecurityContextA(
ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput, _In_opt_ PCredHandle phCredential,
ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput, _In_opt_ PCtxtHandle phContext,
ULONG *pfContextAttr, PTimeStamp ptsExpiry); _In_opt_ SEC_CHAR *pszTargetName,
SECURITY_STATUS SEC_ENTRY InitializeSecurityContextW( _In_ ULONG fContextReq,
PCredHandle phCredential, PCtxtHandle phContext, _In_ ULONG Reserved1,
SEC_WCHAR *pszTargetName, ULONG fContextReq, _In_ ULONG TargetDataRep,
ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput, _In_opt_ PSecBufferDesc pInput,
ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput, _In_ ULONG Reserved2,
ULONG *pfContextAttr, PTimeStamp ptsExpiry); _Inout_opt_ PCtxtHandle phNewContext,
_Inout_opt_ PSecBufferDesc pOutput,
_Out_ ULONG *pfContextAttr,
_Out_opt_ PTimeStamp ptsExpiry);
SECURITY_STATUS
SEC_ENTRY
InitializeSecurityContextW(
_In_opt_ PCredHandle phCredential,
_In_opt_ PCtxtHandle phContext,
_In_opt_ SEC_WCHAR *pszTargetName,
_In_ ULONG fContextReq,
_In_ ULONG Reserved1,
_In_ ULONG TargetDataRep,
_In_opt_ PSecBufferDesc pInput,
_In_ ULONG Reserved2,
_Inout_opt_ PCtxtHandle phNewContext,
_Inout_opt_ PSecBufferDesc pOutput,
_Out_ ULONG *pfContextAttr,
_Out_opt_ PTimeStamp ptsExpiry);
#define InitializeSecurityContext WINELIB_NAME_AW(InitializeSecurityContext) #define InitializeSecurityContext WINELIB_NAME_AW(InitializeSecurityContext)
typedef SECURITY_STATUS (SEC_ENTRY *INITIALIZE_SECURITY_CONTEXT_FN_A) typedef SECURITY_STATUS (SEC_ENTRY *INITIALIZE_SECURITY_CONTEXT_FN_A)
@ -315,11 +371,18 @@ typedef SECURITY_STATUS (SEC_ENTRY *INITIALIZE_SECURITY_CONTEXT_FN_W)
#define ISC_RET_RESERVED1 0x00100000 #define ISC_RET_RESERVED1 0x00100000
#define ISC_RET_FRAGMENT_ONLY 0x00200000 #define ISC_RET_FRAGMENT_ONLY 0x00200000
SECURITY_STATUS SEC_ENTRY AcceptSecurityContext( SECURITY_STATUS
PCredHandle phCredential, PCtxtHandle phContext, PSecBufferDesc pInput, SEC_ENTRY
ULONG fContextReq, ULONG TargetDataRep, AcceptSecurityContext(
PCtxtHandle phNewContext, PSecBufferDesc pOutput, _In_opt_ PCredHandle phCredential,
ULONG *pfContextAttr, PTimeStamp ptsExpiry); _In_opt_ PCtxtHandle phContext,
_In_opt_ PSecBufferDesc pInput,
_In_ ULONG fContextReq,
_In_ ULONG TargetDataRep,
_Inout_opt_ PCtxtHandle phNewContext,
_Inout_opt_ PSecBufferDesc pOutput,
_Out_ ULONG *pfContextAttr,
_Out_opt_ PTimeStamp ptsExpiry);
typedef SECURITY_STATUS (SEC_ENTRY *ACCEPT_SECURITY_CONTEXT_FN)(PCredHandle, typedef SECURITY_STATUS (SEC_ENTRY *ACCEPT_SECURITY_CONTEXT_FN)(PCredHandle,
PCtxtHandle, PSecBufferDesc, ULONG, ULONG, PCtxtHandle, PCtxtHandle, PSecBufferDesc, ULONG, ULONG, PCtxtHandle,
@ -376,27 +439,42 @@ typedef SECURITY_STATUS (SEC_ENTRY *ACCEPT_SECURITY_CONTEXT_FN)(PCredHandle,
#define SECURITY_NATIVE_DREP 0x00000010 #define SECURITY_NATIVE_DREP 0x00000010
#define SECURITY_NETWORK_DREP 0x00000000 #define SECURITY_NETWORK_DREP 0x00000000
SECURITY_STATUS
SECURITY_STATUS SEC_ENTRY CompleteAuthToken(PCtxtHandle phContext, SEC_ENTRY
PSecBufferDesc pToken); CompleteAuthToken(
_In_ PCtxtHandle phContext,
_In_ PSecBufferDesc pToken);
typedef SECURITY_STATUS (SEC_ENTRY *COMPLETE_AUTH_TOKEN_FN)(PCtxtHandle, typedef SECURITY_STATUS (SEC_ENTRY *COMPLETE_AUTH_TOKEN_FN)(PCtxtHandle,
PSecBufferDesc); PSecBufferDesc);
SECURITY_STATUS SEC_ENTRY DeleteSecurityContext(PCtxtHandle phContext); SECURITY_STATUS SEC_ENTRY DeleteSecurityContext(_In_ PCtxtHandle phContext);
typedef SECURITY_STATUS (SEC_ENTRY *DELETE_SECURITY_CONTEXT_FN)(PCtxtHandle); typedef SECURITY_STATUS (SEC_ENTRY *DELETE_SECURITY_CONTEXT_FN)(PCtxtHandle);
SECURITY_STATUS SEC_ENTRY ApplyControlToken(PCtxtHandle phContext, SECURITY_STATUS
PSecBufferDesc pInput); SEC_ENTRY
ApplyControlToken(
_In_ PCtxtHandle phContext,
_In_ PSecBufferDesc pInput);
typedef SECURITY_STATUS (SEC_ENTRY *APPLY_CONTROL_TOKEN_FN)(PCtxtHandle, typedef SECURITY_STATUS (SEC_ENTRY *APPLY_CONTROL_TOKEN_FN)(PCtxtHandle,
PSecBufferDesc); PSecBufferDesc);
SECURITY_STATUS SEC_ENTRY QueryContextAttributesA(PCtxtHandle phContext, SECURITY_STATUS
ULONG ulAttribute, void *pBuffer); SEC_ENTRY
SECURITY_STATUS SEC_ENTRY QueryContextAttributesW(PCtxtHandle phContext, QueryContextAttributesA(
ULONG ulAttribute, void *pBuffer); _In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_Out_ void *pBuffer);
SECURITY_STATUS
SEC_ENTRY
QueryContextAttributesW(
_In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_Out_ void *pBuffer);
#define QueryContextAttributes WINELIB_NAME_AW(QueryContextAttributes) #define QueryContextAttributes WINELIB_NAME_AW(QueryContextAttributes)
typedef SECURITY_STATUS (SEC_ENTRY *QUERY_CONTEXT_ATTRIBUTES_FN_A)(PCtxtHandle, typedef SECURITY_STATUS (SEC_ENTRY *QUERY_CONTEXT_ATTRIBUTES_FN_A)(PCtxtHandle,
@ -528,10 +606,9 @@ typedef struct _SecPkgContext_PasswordExpiry
TimeStamp tsPasswordExpires; TimeStamp tsPasswordExpires;
} SecPkgContext_PasswordExpiry, *PSecPkgContext_PasswordExpiry; } SecPkgContext_PasswordExpiry, *PSecPkgContext_PasswordExpiry;
typedef struct _SecPkgContext_SessionKey typedef struct _SecPkgContext_SessionKey {
{ ULONG SessionKeyLength;
ULONG SessionKeyLength; _Field_size_bytes_(SessionKeyLength) unsigned char *SessionKey;
unsigned char *SessionKey;
} SecPkgContext_SessionKey, *PSecPkgContext_SessionKey; } SecPkgContext_SessionKey, *PSecPkgContext_SessionKey;
typedef struct _SecPkgContext_PackageInfoA typedef struct _SecPkgContext_PackageInfoA
@ -632,31 +709,53 @@ typedef struct _SecPkgContext_Target
char *Target; char *Target;
} SecPkgContext_Target, *PSecPkgContext_Target; } SecPkgContext_Target, *PSecPkgContext_Target;
SECURITY_STATUS SEC_ENTRY ImpersonateSecurityContext(PCtxtHandle phContext); _Check_return_
SECURITY_STATUS
SEC_ENTRY
ImpersonateSecurityContext(
_In_ PCtxtHandle phContext);
typedef SECURITY_STATUS (SEC_ENTRY *IMPERSONATE_SECURITY_CONTEXT_FN) typedef SECURITY_STATUS (SEC_ENTRY *IMPERSONATE_SECURITY_CONTEXT_FN)
(PCtxtHandle); (PCtxtHandle);
SECURITY_STATUS SEC_ENTRY RevertSecurityContext(PCtxtHandle phContext); SECURITY_STATUS SEC_ENTRY RevertSecurityContext(_In_ PCtxtHandle phContext);
typedef SECURITY_STATUS (SEC_ENTRY *REVERT_SECURITY_CONTEXT_FN)(PCtxtHandle); typedef SECURITY_STATUS (SEC_ENTRY *REVERT_SECURITY_CONTEXT_FN)(PCtxtHandle);
SECURITY_STATUS SEC_ENTRY MakeSignature(PCtxtHandle phContext, SECURITY_STATUS
ULONG fQOP, PSecBufferDesc pMessage, ULONG MessageSeqNo); SEC_ENTRY
MakeSignature(
_In_ PCtxtHandle phContext,
_In_ ULONG fQOP,
_In_ PSecBufferDesc pMessage,
_In_ ULONG MessageSeqNo);
typedef SECURITY_STATUS (SEC_ENTRY *MAKE_SIGNATURE_FN)(PCtxtHandle, typedef SECURITY_STATUS (SEC_ENTRY *MAKE_SIGNATURE_FN)(PCtxtHandle,
ULONG, PSecBufferDesc, ULONG); ULONG, PSecBufferDesc, ULONG);
SECURITY_STATUS SEC_ENTRY VerifySignature(PCtxtHandle phContext, SECURITY_STATUS
PSecBufferDesc pMessage, ULONG MessageSeqNo, PULONG pfQOP); SEC_ENTRY
VerifySignature(
_In_ PCtxtHandle phContext,
_In_ PSecBufferDesc pMessage,
_In_ ULONG MessageSeqNo,
_Out_ PULONG pfQOP);
typedef SECURITY_STATUS (SEC_ENTRY *VERIFY_SIGNATURE_FN)(PCtxtHandle, typedef SECURITY_STATUS (SEC_ENTRY *VERIFY_SIGNATURE_FN)(PCtxtHandle,
PSecBufferDesc, ULONG, PULONG); PSecBufferDesc, ULONG, PULONG);
SECURITY_STATUS SEC_ENTRY QuerySecurityPackageInfoA( SECURITY_STATUS
SEC_CHAR *pszPackageName, PSecPkgInfoA *ppPackageInfo); SEC_ENTRY
SECURITY_STATUS SEC_ENTRY QuerySecurityPackageInfoW( QuerySecurityPackageInfoA(
SEC_WCHAR *pszPackageName, PSecPkgInfoW *ppPackageInfo); _In_ SEC_CHAR *pszPackageName,
_Outptr_ PSecPkgInfoA *ppPackageInfo);
SECURITY_STATUS
SEC_ENTRY
QuerySecurityPackageInfoW(
_In_ SEC_WCHAR *pszPackageName,
_Outptr_ PSecPkgInfoW *ppPackageInfo);
#define QuerySecurityPackageInfo WINELIB_NAME_AW(QuerySecurityPackageInfo) #define QuerySecurityPackageInfo WINELIB_NAME_AW(QuerySecurityPackageInfo)
typedef SECURITY_STATUS (SEC_ENTRY *QUERY_SECURITY_PACKAGE_INFO_FN_A) typedef SECURITY_STATUS (SEC_ENTRY *QUERY_SECURITY_PACKAGE_INFO_FN_A)
@ -665,8 +764,13 @@ typedef SECURITY_STATUS (SEC_ENTRY *QUERY_SECURITY_PACKAGE_INFO_FN_W)
(SEC_WCHAR *, PSecPkgInfoW *); (SEC_WCHAR *, PSecPkgInfoW *);
#define QUERY_SECURITY_PACKAGE_INFO_FN WINELIB_NAME_AW(QUERY_SECURITY_PACKAGE_INFO_FN_) #define QUERY_SECURITY_PACKAGE_INFO_FN WINELIB_NAME_AW(QUERY_SECURITY_PACKAGE_INFO_FN_)
SECURITY_STATUS SEC_ENTRY ExportSecurityContext(PCtxtHandle phContext, SECURITY_STATUS
ULONG fFlags, PSecBuffer pPackedContext, void **pToken); SEC_ENTRY
ExportSecurityContext(
_In_ PCtxtHandle phContext,
_In_ ULONG fFlags,
_Out_ PSecBuffer pPackedContext,
_Out_ void **pToken);
typedef SECURITY_STATUS (SEC_ENTRY *EXPORT_SECURITY_CONTEXT_FN)(PCtxtHandle, typedef SECURITY_STATUS (SEC_ENTRY *EXPORT_SECURITY_CONTEXT_FN)(PCtxtHandle,
ULONG, PSecBuffer, void **); ULONG, PSecBuffer, void **);
@ -675,10 +779,22 @@ typedef SECURITY_STATUS (SEC_ENTRY *EXPORT_SECURITY_CONTEXT_FN)(PCtxtHandle,
#define SECPKG_CONTEXT_EXPORT_RESET_NEW 0x00000001 #define SECPKG_CONTEXT_EXPORT_RESET_NEW 0x00000001
#define SECPKG_CONTEXT_EXPORT_DELETE_OLD 0x00000002 #define SECPKG_CONTEXT_EXPORT_DELETE_OLD 0x00000002
SECURITY_STATUS SEC_ENTRY ImportSecurityContextA(SEC_CHAR *pszPackage, SECURITY_STATUS
PSecBuffer pPackedContext, void *Token, PCtxtHandle phContext); SEC_ENTRY
SECURITY_STATUS SEC_ENTRY ImportSecurityContextW(SEC_WCHAR *pszPackage, ImportSecurityContextA(
PSecBuffer pPackedContext, void *Token, PCtxtHandle phContext); _In_ SEC_CHAR *pszPackage,
_In_ PSecBuffer pPackedContext,
_In_ void *Token,
_Out_ PCtxtHandle phContext);
SECURITY_STATUS
SEC_ENTRY
ImportSecurityContextW(
_In_ SEC_WCHAR *pszPackage,
_In_ PSecBuffer pPackedContext,
_In_ void *Token,
_Out_ PCtxtHandle phContext);
#define ImportSecurityContext WINELIB_NAME_AW(ImportSecurityContext) #define ImportSecurityContext WINELIB_NAME_AW(ImportSecurityContext)
typedef SECURITY_STATUS (SEC_ENTRY *IMPORT_SECURITY_CONTEXT_FN_A)(SEC_CHAR *, typedef SECURITY_STATUS (SEC_ENTRY *IMPORT_SECURITY_CONTEXT_FN_A)(SEC_CHAR *,
@ -687,14 +803,30 @@ typedef SECURITY_STATUS (SEC_ENTRY *IMPORT_SECURITY_CONTEXT_FN_W)(SEC_WCHAR *,
PSecBuffer, void *, PCtxtHandle); PSecBuffer, void *, PCtxtHandle);
#define IMPORT_SECURITY_CONTEXT_FN WINELIB_NAME_AW(IMPORT_SECURITY_CONTEXT_FN_) #define IMPORT_SECURITY_CONTEXT_FN WINELIB_NAME_AW(IMPORT_SECURITY_CONTEXT_FN_)
SECURITY_STATUS SEC_ENTRY AddCredentialsA(PCredHandle hCredentials, SECURITY_STATUS
SEC_CHAR *pszPrincipal, SEC_CHAR *pszPackage, ULONG fCredentialUse, SEC_ENTRY
void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, AddCredentialsA(
PTimeStamp ptsExpiry); _In_ PCredHandle hCredentials,
SECURITY_STATUS SEC_ENTRY AddCredentialsW(PCredHandle hCredentials, _In_opt_ SEC_CHAR *pszPrincipal,
SEC_WCHAR *pszPrincipal, SEC_WCHAR *pszPackage, ULONG fCredentialUse, _In_ SEC_CHAR *pszPackage,
void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument, _In_ ULONG fCredentialUse,
PTimeStamp ptsExpiry); _In_opt_ void *pAuthData,
_In_opt_ SEC_GET_KEY_FN pGetKeyFn,
_In_opt_ void *pvGetKeyArgument,
_Out_opt_ PTimeStamp ptsExpiry);
SECURITY_STATUS
SEC_ENTRY
AddCredentialsW(
_In_ PCredHandle hCredentials,
_In_opt_ SEC_WCHAR *pszPrincipal,
_In_ SEC_WCHAR *pszPackage,
_In_ ULONG fCredentialUse,
_In_opt_ void *pAuthData,
_In_opt_ SEC_GET_KEY_FN pGetKeyFn,
_In_opt_ void *pvGetKeyArgument,
_Out_opt_ PTimeStamp ptsExpiry);
#define AddCredentials WINELIB_NAME_AW(AddCredentials) #define AddCredentials WINELIB_NAME_AW(AddCredentials)
typedef SECURITY_STATUS (SEC_ENTRY *ADD_CREDENTIALS_FN_A)(PCredHandle, typedef SECURITY_STATUS (SEC_ENTRY *ADD_CREDENTIALS_FN_A)(PCredHandle,
@ -704,16 +836,30 @@ typedef SECURITY_STATUS (SEC_ENTRY *ADD_CREDENTIALS_FN_W)(PCredHandle,
SEC_WCHAR *, SEC_WCHAR *, ULONG, void *, SEC_GET_KEY_FN, void *, SEC_WCHAR *, SEC_WCHAR *, ULONG, void *, SEC_GET_KEY_FN, void *,
PTimeStamp); PTimeStamp);
SECURITY_STATUS SEC_ENTRY QuerySecurityContextToken(PCtxtHandle phContext, SECURITY_STATUS
HANDLE *phToken); SEC_ENTRY
QuerySecurityContextToken(
_In_ PCtxtHandle phContext,
_Out_ HANDLE *phToken);
typedef SECURITY_STATUS (SEC_ENTRY *QUERY_SECURITY_CONTEXT_TOKEN_FN) typedef SECURITY_STATUS (SEC_ENTRY *QUERY_SECURITY_CONTEXT_TOKEN_FN)
(PCtxtHandle, HANDLE *); (PCtxtHandle, HANDLE *);
SECURITY_STATUS SEC_ENTRY EncryptMessage(PCtxtHandle phContext, ULONG fQOP, SECURITY_STATUS
PSecBufferDesc pMessage, ULONG MessageSeqNo); SEC_ENTRY
SECURITY_STATUS SEC_ENTRY DecryptMessage(PCtxtHandle phContext, EncryptMessage(
PSecBufferDesc pMessage, ULONG MessageSeqNo, PULONG pfQOP); _In_ PCtxtHandle phContext,
_In_ ULONG fQOP,
_In_ PSecBufferDesc pMessage,
_In_ ULONG MessageSeqNo);
SECURITY_STATUS
SEC_ENTRY
DecryptMessage(
_In_ PCtxtHandle phContext,
_In_ PSecBufferDesc pMessage,
_In_ ULONG MessageSeqNo,
_Out_opt_ PULONG pfQOP);
/* values for EncryptMessage fQOP */ /* values for EncryptMessage fQOP */
#define SECQOP_WRAP_NO_ENCRYPT 0x80000001 #define SECQOP_WRAP_NO_ENCRYPT 0x80000001
@ -723,10 +869,22 @@ typedef SECURITY_STATUS (SEC_ENTRY *ENCRYPT_MESSAGE_FN)(PCtxtHandle, ULONG,
typedef SECURITY_STATUS (SEC_ENTRY *DECRYPT_MESSAGE_FN)(PCtxtHandle, typedef SECURITY_STATUS (SEC_ENTRY *DECRYPT_MESSAGE_FN)(PCtxtHandle,
PSecBufferDesc, ULONG, PULONG); PSecBufferDesc, ULONG, PULONG);
SECURITY_STATUS SEC_ENTRY SetContextAttributesA(PCtxtHandle phContext, SECURITY_STATUS
ULONG ulAttribute, void *pBuffer, ULONG cbBuffer); SEC_ENTRY
SECURITY_STATUS SEC_ENTRY SetContextAttributesW(PCtxtHandle phContext, SetContextAttributesA(
ULONG ulAttribute, void *pBuffer, ULONG cbBuffer); _In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_In_reads_bytes_(cbBuffer) void *pBuffer,
_In_ ULONG cbBuffer);
SECURITY_STATUS
SEC_ENTRY
SetContextAttributesW(
_In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_In_reads_bytes_(cbBuffer) void *pBuffer,
_In_ ULONG cbBuffer);
#define SetContextAttributes WINELIB_NAME_AW(SetContextAttributes) #define SetContextAttributes WINELIB_NAME_AW(SetContextAttributes)
typedef SECURITY_STATUS (SEC_ENTRY *SET_CONTEXT_ATTRIBUTES_FN_A)(PCtxtHandle, typedef SECURITY_STATUS (SEC_ENTRY *SET_CONTEXT_ATTRIBUTES_FN_A)(PCtxtHandle,