16#define SEC_ENTRY __stdcall
18#if defined(_NO_KSECDD_IMPORT_)
21#define KSECDDDECLSPEC __declspec(dllimport)
24#define SECQOP_WRAP_NO_ENCRYPT 0x80000001
25#define SECQOP_WRAP_OOB_DATA 0x40000000
27#define SECURITY_ENTRYPOINTW SEC_TEXT("InitSecurityInterfaceW")
28#define SECURITY_ENTRYPOINT SECURITY_ENTRYPOINTW
30#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION 1
31#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_2 2
32#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_3 3
33#define SECURITY_SUPPORT_PROVIDER_INTERFACE_VERSION_4 4
35#define SECURITY_NATIVE_DREP 0x00000010
36#define SECURITY_NETWORK_DREP 0x00000000
38#define SECPKG_ID_NONE 0xFFFF
40#define SECPKG_CRED_ATTR_NAMES 1
41#define SECPKG_CRED_ATTR_SSI_PROVIDER 2
43#define SECPKG_ATTR_SIZES 0
44#define SECPKG_ATTR_NAMES 1
45#define SECPKG_ATTR_LIFESPAN 2
46#define SECPKG_ATTR_DCE_INFO 3
47#define SECPKG_ATTR_STREAM_SIZES 4
48#define SECPKG_ATTR_KEY_INFO 5
49#define SECPKG_ATTR_AUTHORITY 6
50#define SECPKG_ATTR_PROTO_INFO 7
51#define SECPKG_ATTR_PASSWORD_EXPIRY 8
52#define SECPKG_ATTR_SESSION_KEY 9
53#define SECPKG_ATTR_PACKAGE_INFO 10
54#define SECPKG_ATTR_USER_FLAGS 11
55#define SECPKG_ATTR_NEGOTIATION_INFO 12
56#define SECPKG_ATTR_NATIVE_NAMES 13
57#define SECPKG_ATTR_FLAGS 14
58#define SECPKG_ATTR_USE_VALIDATED 15
59#define SECPKG_ATTR_CREDENTIAL_NAME 16
60#define SECPKG_ATTR_TARGET_INFORMATION 17
61#define SECPKG_ATTR_ACCESS_TOKEN 18
62#define SECPKG_ATTR_TARGET 19
63#define SECPKG_ATTR_AUTHENTICATION_ID 20
64#define SECPKG_ATTR_LOGOFF_TIME 21
65#define SECPKG_ATTR_NEGO_KEYS 22
66#define SECPKG_ATTR_PROMPTING_NEEDED 24
67#define SECPKG_ATTR_UNIQUE_BINDINGS 25
68#define SECPKG_ATTR_ENDPOINT_BINDINGS 26
69#define SECPKG_ATTR_CLIENT_SPECIFIED_TARGET 27
70#define SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS 30
71#define SECPKG_ATTR_NEGO_PKG_INFO 31
72#define SECPKG_ATTR_NEGO_STATUS 32
73#define SECPKG_ATTR_CONTEXT_DELETED 33
75#define SECPKG_FLAG_INTEGRITY 0x00000001
76#define SECPKG_FLAG_PRIVACY 0x00000002
77#define SECPKG_FLAG_TOKEN_ONLY 0x00000004
78#define SECPKG_FLAG_DATAGRAM 0x00000008
79#define SECPKG_FLAG_CONNECTION 0x00000010
80#define SECPKG_FLAG_MULTI_REQUIRED 0x00000020
81#define SECPKG_FLAG_CLIENT_ONLY 0x00000040
82#define SECPKG_FLAG_EXTENDED_ERROR 0x00000080
83#define SECPKG_FLAG_IMPERSONATION 0x00000100
84#define SECPKG_FLAG_ACCEPT_WIN32_NAME 0x00000200
85#define SECPKG_FLAG_STREAM 0x00000400
86#define SECPKG_FLAG_NEGOTIABLE 0x00000800
87#define SECPKG_FLAG_GSS_COMPATIBLE 0x00001000
88#define SECPKG_FLAG_LOGON 0x00002000
89#define SECPKG_FLAG_ASCII_BUFFERS 0x00004000
90#define SECPKG_FLAG_FRAGMENT 0x00008000
91#define SECPKG_FLAG_MUTUAL_AUTH 0x00010000
92#define SECPKG_FLAG_DELEGATION 0x00020000
93#define SECPKG_FLAG_READONLY_WITH_CHECKSUM 0x00040000
94#define SECPKG_FLAG_RESTRICTED_TOKENS 0x00080000
95#define SECPKG_FLAG_NEGO_EXTENDER 0x00100000
96#define SECPKG_FLAG_NEGOTIABLE2 0x00200000
98#define SECPKG_CRED_INBOUND 0x00000001
99#define SECPKG_CRED_OUTBOUND 0x00000002
100#define SECPKG_CRED_BOTH 0x00000003
101#define SECPKG_CRED_DEFAULT 0x00000004
102#define SECPKG_CRED_RESERVED 0xF0000000
103#define SECPKG_CRED_AUTOLOGON_RESTRICTED 0x00000010
104#define SECPKG_CRED_PROCESS_POLICY_ONLY 0x00000020
106#define SECPKG_CONTEXT_EXPORT_RESET_NEW 0x00000001
107#define SECPKG_CONTEXT_EXPORT_DELETE_OLD 0x00000002
108#define SECPKG_CONTEXT_EXPORT_TO_KERNEL 0x00000004
110#define SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES 128
111#define SECPKG_ATTR_NEGO_INFO_FLAG_NO_KERBEROS 0x1
112#define SECPKG_ATTR_NEGO_INFO_FLAG_NO_NTLM 0x2
114#define SecPkgContext_NativeNames SecPkgContext_NativeNamesW
115#define PSecPkgContext_NativeNames PSecPkgContext_NativeNamesW
117#define SECBUFFER_VERSION 0
119#define SECBUFFER_EMPTY 0
120#define SECBUFFER_DATA 1
121#define SECBUFFER_TOKEN 2
122#define SECBUFFER_PKG_PARAMS 3
123#define SECBUFFER_MISSING 4
124#define SECBUFFER_EXTRA 5
125#define SECBUFFER_STREAM_TRAILER 6
126#define SECBUFFER_STREAM_HEADER 7
127#define SECBUFFER_NEGOTIATION_INFO 8
128#define SECBUFFER_PADDING 9
129#define SECBUFFER_STREAM 10
130#define SECBUFFER_MECHLIST 11
131#define SECBUFFER_MECHLIST_SIGNATURE 12
132#define SECBUFFER_TARGET 13
133#define SECBUFFER_CHANNEL_BINDINGS 14
134#define SECBUFFER_CHANGE_PASS_RESPONSE 15
135#define SECBUFFER_TARGET_HOST 16
136#define SECBUFFER_ALERT 17
138#define SECBUFFER_ATTRMASK 0xF0000000
139#define SECBUFFER_READONLY 0x80000000
140#define SECBUFFER_READONLY_WITH_CHECKSUM 0x10000000
141#define SECBUFFER_RESERVED 0x60000000
143#define ISC_REQ_DELEGATE 0x00000001
144#define ISC_REQ_MUTUAL_AUTH 0x00000002
145#define ISC_REQ_REPLAY_DETECT 0x00000004
146#define ISC_REQ_SEQUENCE_DETECT 0x00000008
147#define ISC_REQ_CONFIDENTIALITY 0x00000010
148#define ISC_REQ_USE_SESSION_KEY 0x00000020
149#define ISC_REQ_PROMPT_FOR_CREDS 0x00000040
150#define ISC_REQ_USE_SUPPLIED_CREDS 0x00000080
151#define ISC_REQ_ALLOCATE_MEMORY 0x00000100
152#define ISC_REQ_USE_DCE_STYLE 0x00000200
153#define ISC_REQ_DATAGRAM 0x00000400
154#define ISC_REQ_CONNECTION 0x00000800
155#define ISC_REQ_CALL_LEVEL 0x00001000
156#define ISC_REQ_FRAGMENT_SUPPLIED 0x00002000
157#define ISC_REQ_EXTENDED_ERROR 0x00004000
158#define ISC_REQ_STREAM 0x00008000
159#define ISC_REQ_INTEGRITY 0x00010000
160#define ISC_REQ_IDENTIFY 0x00020000
161#define ISC_REQ_NULL_SESSION 0x00040000
162#define ISC_REQ_MANUAL_CRED_VALIDATION 0x00080000
163#define ISC_REQ_RESERVED1 0x00100000
164#define ISC_REQ_FRAGMENT_TO_FIT 0x00200000
165#define ISC_REQ_FORWARD_CREDENTIALS 0x00400000
166#define ISC_REQ_NO_INTEGRITY 0x00800000
167#define ISC_REQ_USE_HTTP_STYLE 0x01000000
169#define ISC_RET_DELEGATE 0x00000001
170#define ISC_RET_MUTUAL_AUTH 0x00000002
171#define ISC_RET_REPLAY_DETECT 0x00000004
172#define ISC_RET_SEQUENCE_DETECT 0x00000008
173#define ISC_RET_CONFIDENTIALITY 0x00000010
174#define ISC_RET_USE_SESSION_KEY 0x00000020
175#define ISC_RET_USED_COLLECTED_CREDS 0x00000040
176#define ISC_RET_USED_SUPPLIED_CREDS 0x00000080
177#define ISC_RET_ALLOCATED_MEMORY 0x00000100
178#define ISC_RET_USED_DCE_STYLE 0x00000200
179#define ISC_RET_DATAGRAM 0x00000400
180#define ISC_RET_CONNECTION 0x00000800
181#define ISC_RET_INTERMEDIATE_RETURN 0x00001000
182#define ISC_RET_CALL_LEVEL 0x00002000
183#define ISC_RET_EXTENDED_ERROR 0x00004000
184#define ISC_RET_STREAM 0x00008000
185#define ISC_RET_INTEGRITY 0x00010000
186#define ISC_RET_IDENTIFY 0x00020000
187#define ISC_RET_NULL_SESSION 0x00040000
188#define ISC_RET_MANUAL_CRED_VALIDATION 0x00080000
189#define ISC_RET_RESERVED1 0x00100000
190#define ISC_RET_FRAGMENT_ONLY 0x00200000
191#define ISC_RET_FORWARD_CREDENTIALS 0x00400000
192#define ISC_RET_USED_HTTP_STYLE 0x01000000
193#define ISC_RET_NO_ADDITIONAL_TOKEN 0x02000000
194#define ISC_RET_REAUTHENTICATION 0x08000000
196#define ASC_REQ_DELEGATE 0x00000001
197#define ASC_REQ_MUTUAL_AUTH 0x00000002
198#define ASC_REQ_REPLAY_DETECT 0x00000004
199#define ASC_REQ_SEQUENCE_DETECT 0x00000008
200#define ASC_REQ_CONFIDENTIALITY 0x00000010
201#define ASC_REQ_USE_SESSION_KEY 0x00000020
202#define ASC_REQ_ALLOCATE_MEMORY 0x00000100
203#define ASC_REQ_USE_DCE_STYLE 0x00000200
204#define ASC_REQ_DATAGRAM 0x00000400
205#define ASC_REQ_CONNECTION 0x00000800
206#define ASC_REQ_CALL_LEVEL 0x00001000
207#define ASC_REQ_EXTENDED_ERROR 0x00008000
208#define ASC_REQ_STREAM 0x00010000
209#define ASC_REQ_INTEGRITY 0x00020000
210#define ASC_REQ_LICENSING 0x00040000
211#define ASC_REQ_IDENTIFY 0x00080000
212#define ASC_REQ_ALLOW_NULL_SESSION 0x00100000
213#define ASC_REQ_ALLOW_NON_USER_LOGONS 0x00200000
214#define ASC_REQ_ALLOW_CONTEXT_REPLAY 0x00400000
215#define ASC_REQ_FRAGMENT_TO_FIT 0x00800000
216#define ASC_REQ_FRAGMENT_SUPPLIED 0x00002000
217#define ASC_REQ_NO_TOKEN 0x01000000
218#define ASC_REQ_PROXY_BINDINGS 0x04000000
221#define ASC_REQ_ALLOW_MISSING_BINDINGS 0x10000000
222#define ASC_RET_DELEGATE 0x00000001
223#define ASC_RET_MUTUAL_AUTH 0x00000002
224#define ASC_RET_REPLAY_DETECT 0x00000004
225#define ASC_RET_SEQUENCE_DETECT 0x00000008
226#define ASC_RET_CONFIDENTIALITY 0x00000010
227#define ASC_RET_USE_SESSION_KEY 0x00000020
228#define ASC_RET_ALLOCATED_MEMORY 0x00000100
229#define ASC_RET_USED_DCE_STYLE 0x00000200
230#define ASC_RET_DATAGRAM 0x00000400
231#define ASC_RET_CONNECTION 0x00000800
232#define ASC_RET_CALL_LEVEL 0x00002000
233#define ASC_RET_THIRD_LEG_FAILED 0x00004000
234#define ASC_RET_EXTENDED_ERROR 0x00008000
235#define ASC_RET_STREAM 0x00010000
236#define ASC_RET_INTEGRITY 0x00020000
237#define ASC_RET_LICENSING 0x00040000
238#define ASC_RET_IDENTIFY 0x00080000
239#define ASC_RET_NULL_SESSION 0x00100000
240#define ASC_RET_ALLOW_NON_USER_LOGONS 0x00200000
241#define ASC_RET_ALLOW_CONTEXT_REPLAY 0x00400000
242#define ASC_RET_FRAGMENT_ONLY 0x00800000
243#define ASC_RET_NO_TOKEN 0x01000000
244#define ASC_RET_NO_ADDITIONAL_TOKEN 0x02000000
245#define ASC_RET_NO_PROXY_BINDINGS 0x04000000
247#define ASC_RET_MISSING_BINDINGS 0x10000000
249#define SEC_DELETED_HANDLE ((ULONG_PTR)(-2))
251#define SecInvalidateHandle(x) \
252 ((PSecHandle)(x))->dwLower = ((PSecHandle)(x))->dwUpper = ((ULONG_PTR)((INT_PTR)-1));
254#define SecIsValidHandle(x) \
255 ( ( ((PSecHandle)(x))->dwLower != (ULONG_PTR)(INT_PTR)-1 ) && \
256 ( ((PSecHandle)(x))->dwUpper != (ULONG_PTR)(INT_PTR)-1 ) )
264#define PSSPI_SEC_STRING PSECURITY_STRING
266#define PSSPI_SEC_STRING SEC_WCHAR*
271#ifndef __SECSTATUS_DEFINED__
273#define __SECSTATUS_DEFINED__
305#ifndef _AUTH_IDENTITY_EX2_DEFINED
306#define _AUTH_IDENTITY_EX2_DEFINED
322#define SEC_WINNT_AUTH_IDENTITY_VERSION_2 0x201
325#ifndef _AUTH_IDENTITY_DEFINED
326#define _AUTH_IDENTITY_DEFINED
337#define SEC_WINNT_AUTH_IDENTITY_ANSI 0x1
338#define SEC_WINNT_AUTH_IDENTITY_UNICODE 0x2
339#define SEC_WINNT_AUTH_IDENTITY SEC_WINNT_AUTH_IDENTITY_W
340#define PSEC_WINNT_AUTH_IDENTITY PSEC_WINNT_AUTH_IDENTITY_W
341#define _SEC_WINNT_AUTH_IDENTITY _SEC_WINNT_AUTH_IDENTITY_W
344#ifndef SEC_WINNT_AUTH_IDENTITY_VERSION
345#define SEC_WINNT_AUTH_IDENTITY_VERSION 0x200
360#define SEC_WINNT_AUTH_IDENTITY_EX SEC_WINNT_AUTH_IDENTITY_EXW
361#define PSEC_WINNT_AUTH_IDENTITY_EX PSEC_WINNT_AUTH_IDENTITY_EXW
364#ifndef __SECHANDLE_DEFINED__
370#define __SECHANDLE_DEFINED__
402#define SecPkgInfo SecPkgInfoW
403#define PSecPkgInfo PSecPkgInfoW
409#define SecPkgCredentials_Names SecPkgCredentials_NamesW
410#define PSecPkgCredentials_Names PSecPkgCredentials_NamesW
416#define SecPkgContext_Names SecPkgContext_NamesW
417#define PSecPkgContext_Names PSecPkgContext_NamesW
419#if OSVER(NTDDI_VERSION) > NTDDI_WIN2K
426#define SecPkgContext_CredentialName SecPkgContext_CredentialNameW
427#define PSecPkgContext_CredentialName PSecPkgContext_CredentialNameW
484#define SecPkgContext_ProtoInfo SecPkgContext_ProtoInfoW
485#define PSecPkgContext_ProtoInfo PSecPkgContext_ProtoInfoW
495#define SecPkgContext_KeyInfo SecPkgContext_KeyInfoW
496#define PSecPkgContext_KeyInfo PSecPkgContext_KeyInfoW
524#define SecPkgContext_PackageInfo SecPkgContext_PackageInfoW
525#define PSecPkgContext_PackageInfo PSecPkgContext_PackageInfoW
547#define SecPkgContext_Authority SecPkgContext_AuthorityW
548#define PSecPkgContext_Authority PSecPkgContext_AuthorityW
551#if NTDDI_VERSION > NTDDI_WS03
552typedef struct _SecPkgCredentials_SSIProviderW
555 ULONG ProviderInfoLength;
557} SecPkgCredentials_SSIProviderW, *PSecPkgCredentials_SSIProviderW;
558#define SecPkgCredentials_SSIProvider SecPkgCredentials_SSIProviderW
559#define PSecPkgCredentials_SSIProvider PSecPkgCredentials_SSIProviderW
561typedef struct _SecPkgContext_LogoffTime
564} SecPkgContext_LogoffTime, *PSecPkgContext_LogoffTime;
569#define SecurityFunctionTable SecurityFunctionTableW
570#define PSecurityFunctionTable PSecurityFunctionTableW
621#define AcquireCredentialsHandle AcquireCredentialsHandleW
635#define ACQUIRE_CREDENTIALS_HANDLE_FN ACQUIRE_CREDENTIALS_HANDLE_FN_W
687#define AddCredentials AddCredentialsW
688#define ADD_CREDENTIALS_FN ADD_CREDENTIALS_FN_W
690#define AddCredentials AddCredentialsA
691#define ADD_CREDENTIALS_FN ADD_CREDENTIALS_FN_A
710ChangeAccountPasswordA(
734ChangeAccountPasswordW(
757#define ChangeAccountPassword ChangeAccountPasswordW
758#define CHANGE_PASSWORD_FN CHANGE_PASSWORD_FN_W
760#define ChangeAccountPassword ChangeAccountPasswordA
761#define CHANGE_PASSWORD_FN CHANGE_PASSWORD_FN_A
827#define EnumerateSecurityPackages EnumerateSecurityPackagesW
834#define ENUMERATE_SECURITY_PACKAGES_FN ENUMERATE_SECURITY_PACKAGES_FN_W
893#define ImportSecurityContext ImportSecurityContextW
902#define IMPORT_SECURITY_CONTEXT_FN IMPORT_SECURITY_CONTEXT_FN_W
920#define InitializeSecurityContext InitializeSecurityContextW
937#define INITIALIZE_SECURITY_CONTEXT_FN INITIALIZE_SECURITY_CONTEXT_FN_W
943#define InitSecurityInterface InitSecurityInterfaceW
948#define INIT_SECURITY_INTERFACE INIT_SECURITY_INTERFACE_W
974#define QueryContextAttributes QueryContextAttributesW
982#define QUERY_CONTEXT_ATTRIBUTES_FN QUERY_CONTEXT_ATTRIBUTES_FN_W
991#define QueryCredentialsAttributes QueryCredentialsAttributesW
999#define QUERY_CREDENTIALS_ATTRIBUTES_FN QUERY_CREDENTIALS_ATTRIBUTES_FN_W
1019#define QuerySecurityPackageInfo QuerySecurityPackageInfoW
1026#define QUERY_SECURITY_PACKAGE_INFO_FN QUERY_SECURITY_PACKAGE_INFO_FN_W
1039#if (OSVER(NTDDI_VERSION) > NTDDI_WIN2K)
1047#define SetContextAttributes SetContextAttributesW
1056#define SET_CONTEXT_ATTRIBUTES_FN SET_CONTEXT_ATTRIBUTES_FN_W
1059#if (NTDDI_VERSION > NTDDI_WS03)
1063SetCredentialsAttributesW(
1068#define SetCredentialsAttributes SetCredentialsAttributesW
1072(
SEC_ENTRY * SET_CREDENTIALS_ATTRIBUTES_FN_W)(
1077#define SET_CREDENTIALS_ATTRIBUTES_FN SET_CREDENTIALS_ATTRIBUTES_FN_W
1112#if (NTDDI_VERSION >= NTDDI_WINXP)
1150#if (NTDDI_VERSION >= NTDDI_WS03)
1161#if (NTDDI_VERSION >= NTDDI_VISTA)
1180#if (NTDDI_VERSION >= NTDDI_WIN7)
1264#define SEC_WINNT_AUTH_IDENTITY_MARSHALLED 0x04
1265#define SEC_WINNT_AUTH_IDENTITY_ONLY 0x08
1269#define FreeCredentialHandle FreeCredentialsHandle
1299#if OSVER(NTDDI_VERSION) > NTDDI_WIN2K
1302#if NTDDI_VERSION > NTDDI_WS03SP1
1303 SET_CREDENTIALS_ATTRIBUTES_FN_W SetCredentialsAttributesW;
1306 CHANGE_PASSWORD_FN_W ChangeAccountPasswordW;
static WCHAR ServiceName[]
_Must_inspect_result_ _Inout_ PFLT_VOLUME _In_opt_ PCUNICODE_STRING InstanceName
enum _SID_NAME_USE * PSID_NAME_USE
#define _Outptr_result_bytebuffer_(size)
#define _In_reads_bytes_(size)
#define _Field_size_(size)
#define _Deref_opt_out_opt_
#define _In_bytecount_(size)
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
_In_ ULONG _In_ ACCESS_MASK _In_ PSID Sid
_In_ ULONG _In_ ULONG _In_ ULONG Length
PVOID *typedef PSecBuffer
SECURITY_STATUS SEC_ENTRY AcceptSecurityContext(_In_opt_ PCredHandle phCredential, _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)
SECURITY_STATUS(SEC_ENTRY * ACCEPT_SECURITY_CONTEXT_FN)(PCredHandle, PCtxtHandle, PSecBufferDesc, ULONG, ULONG, PCtxtHandle, PSecBufferDesc, ULONG *, PTimeStamp)
SECURITY_STATUS(SEC_ENTRY * ENUMERATE_SECURITY_PACKAGES_FN_W)(PULONG, PSecPkgInfoW *)
struct _SecPkgContext_StreamSizes SecPkgContext_StreamSizes
struct _SecPkgContext_Flags * PSecPkgContext_Flags
SECURITY_STATUS SEC_ENTRY ImportSecurityContextW(_In_ SEC_WCHAR *pszPackage, _In_ PSecBuffer pPackedContext, _In_ void *Token, _Out_ PCtxtHandle phContext)
struct _SecPkgInfoW SecPkgInfoW
SECURITY_STATUS(SEC_ENTRY * COMPLETE_AUTH_TOKEN_FN)(PCtxtHandle, PSecBufferDesc)
SECURITY_STATUS(SEC_ENTRY * QUERY_CONTEXT_ATTRIBUTES_FN_W)(PCtxtHandle, ULONG, void *)
struct _SecPkgContext_PackageInfoW * PSecPkgContext_PackageInfoW
struct _SecPkgContext_ProtoInfoW * PSecPkgContext_ProtoInfoW
struct _SecPkgInfoW * PSecPkgInfoW
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)
SECURITY_STATUS SEC_ENTRY EnumerateSecurityPackagesW(_Out_ PULONG pcPackages, _Outptr_ PSecPkgInfoW *ppPackageInfo)
SECURITY_STATUS(SEC_ENTRY * DELETE_SECURITY_CONTEXT_FN)(PCtxtHandle)
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)
struct _SecPkgContext_NamesW * PSecPkgContext_NamesW
SECURITY_STATUS(SEC_ENTRY * QUERY_SECURITY_CONTEXT_TOKEN_FN)(PCtxtHandle, HANDLE *)
SECURITY_STATUS SEC_ENTRY QuerySecurityPackageInfoW(_In_ SEC_WCHAR *pszPackageName, _Outptr_ PSecPkgInfoW *ppPackageInfo)
struct _SecPkgContext_NegotiationInfoW SecPkgContext_NegotiationInfoW
SECURITY_STATUS(SEC_ENTRY * VERIFY_SIGNATURE_FN)(PCtxtHandle, PSecBufferDesc, ULONG, PULONG)
SECURITY_STATUS(SEC_ENTRY * ACQUIRE_CREDENTIALS_HANDLE_FN_W)(SEC_WCHAR *, SEC_WCHAR *, ULONG, PLUID, PVOID, SEC_GET_KEY_FN, PVOID, PCredHandle, PTimeStamp)
SECURITY_STATUS SEC_ENTRY FreeCredentialsHandle(_In_ PCredHandle phCredential)
SECURITY_INTEGER * PTimeStamp
SECURITY_STATUS(SEC_ENTRY * SET_CONTEXT_ATTRIBUTES_FN_W)(PCtxtHandle, ULONG, void *, ULONG)
SECURITY_STATUS SEC_ENTRY MakeSignature(_In_ PCtxtHandle phContext, _In_ ULONG fQOP, _In_ PSecBufferDesc pMessage, _In_ ULONG MessageSeqNo)
SECURITY_STATUS(SEC_ENTRY * ENCRYPT_MESSAGE_FN)(PCtxtHandle, ULONG, PSecBufferDesc, ULONG)
struct _SecBufferDesc SecBufferDesc
SECURITY_STATUS SEC_ENTRY VerifySignature(_In_ PCtxtHandle phContext, _In_ PSecBufferDesc pMessage, _In_ ULONG MessageSeqNo, _Out_ PULONG pfQOP)
struct _SecPkgContext_SessionKey SecPkgContext_SessionKey
struct _SECURITY_INTEGER SECURITY_INTEGER
SECURITY_STATUS(SEC_ENTRY * IMPORT_SECURITY_CONTEXT_FN_W)(SEC_WCHAR *, PSecBuffer, void *, PCtxtHandle)
void * PSEC_WINNT_AUTH_IDENTITY_OPAQUE
SECURITY_STATUS SEC_ENTRY FreeContextBuffer(_Inout_ PVOID pv)
SECURITY_STATUS SEC_ENTRY SetContextAttributesW(_In_ PCtxtHandle phContext, _In_ ULONG ulAttribute, _In_reads_bytes_(cbBuffer) void *pBuffer, _In_ ULONG cbBuffer)
struct _SecPkgContext_PackageInfoW SecPkgContext_PackageInfoW
PSecurityFunctionTableW SEC_ENTRY InitSecurityInterfaceW(void)
struct _SecPkgContext_SessionKey * PSecPkgContext_SessionKey
SECURITY_STATUS(SEC_ENTRY * ADD_CREDENTIALS_FN_A)(PCredHandle, SEC_CHAR *, SEC_CHAR *, ULONG, void *, SEC_GET_KEY_FN, void *, PTimeStamp)
SECURITY_STATUS(SEC_ENTRY * REVERT_SECURITY_CONTEXT_FN)(PCtxtHandle)
SECURITY_STATUS(SEC_ENTRY * FREE_CONTEXT_BUFFER_FN)(_Inout_ PVOID)
struct _SecPkgContext_PasswordExpiry SecPkgContext_PasswordExpiry
SECURITY_STATUS SEC_ENTRY EncryptMessage(_In_ PCtxtHandle phContext, _In_ ULONG fQOP, _In_ PSecBufferDesc pMessage, _In_ ULONG MessageSeqNo)
SECURITY_STATUS SEC_ENTRY QueryCredentialsAttributesW(_In_ PCredHandle phCredential, _In_ ULONG ulAttribute, _Inout_ void *pBuffer)
SECURITY_STATUS(SEC_ENTRY * QUERY_CREDENTIALS_ATTRIBUTES_FN_W)(PCredHandle, ULONG, PVOID)
SECURITY_STATUS SEC_ENTRY RevertSecurityContext(_In_ PCtxtHandle phContext)
struct _SecPkgContext_AuthorityW SecPkgContext_AuthorityW
SECURITY_STATUS SEC_ENTRY DeleteSecurityContext(_In_ PCtxtHandle phContext)
SECURITY_STATUS(SEC_ENTRY * IMPERSONATE_SECURITY_CONTEXT_FN)(PCtxtHandle)
SECURITY_STATUS(SEC_ENTRY * FREE_CREDENTIALS_HANDLE_FN)(PCredHandle)
struct _SecPkgContext_Sizes * PSecPkgContext_Sizes
struct _SecHandle * PSecHandle
struct _SecPkgContext_ProtoInfoW SecPkgContext_ProtoInfoW
_Check_return_ SECURITY_STATUS SEC_ENTRY ImpersonateSecurityContext(_In_ PCtxtHandle phContext)
SECURITY_STATUS SEC_ENTRY ApplyControlToken(_In_ PCtxtHandle phContext, _In_ PSecBufferDesc pInput)
SECURITY_STATUS SEC_ENTRY QuerySecurityContextToken(_In_ PCtxtHandle phContext, _Out_ HANDLE *phToken)
SECURITY_STATUS SEC_ENTRY CompleteAuthToken(_In_ PCtxtHandle phContext, _In_ PSecBufferDesc pToken)
struct _SecPkgCredentials_NamesW * PSecPkgCredentials_NamesW
void(SEC_ENTRY * SEC_GET_KEY_FN)(void *Arg, void *Principal, ULONG KeyVer, void **Key, SECURITY_STATUS *Status)
struct _SecPkgContext_UserFlags * PSecPkgContext_UserFlags
struct _SecPkgContext_Flags SecPkgContext_Flags
struct _SecPkgCredentials_NamesW SecPkgCredentials_NamesW
struct _SecPkgContext_Lifespan SecPkgContext_Lifespan
struct _SecPkgContext_KeyInfoW SecPkgContext_KeyInfoW
struct _SECURITY_FUNCTION_TABLE_W * PSecurityFunctionTableW
SECURITY_STATUS(SEC_ENTRY * QUERY_SECURITY_PACKAGE_INFO_FN_W)(SEC_WCHAR *, PSecPkgInfoW *)
struct _SecPkgContext_CredentialNameW SecPkgContext_CredentialNameW
SECURITY_STATUS(SEC_ENTRY * EXPORT_SECURITY_CONTEXT_FN)(PCtxtHandle, ULONG, PSecBuffer, void **)
PSecurityFunctionTableW(SEC_ENTRY * INIT_SECURITY_INTERFACE_W)(void)
SECURITY_STATUS SEC_ENTRY AddCredentialsA(_In_ PCredHandle hCredentials, _In_opt_ SEC_CHAR *pszPrincipal, _In_ SEC_CHAR *pszPackage, _In_ ULONG fCredentialUse, _In_opt_ void *pAuthData, _In_opt_ SEC_GET_KEY_FN pGetKeyFn, _In_opt_ void *pvGetKeyArgument, _Out_opt_ PTimeStamp ptsExpiry)
SECURITY_STATUS(SEC_ENTRY * INITIALIZE_SECURITY_CONTEXT_FN_W)(PCredHandle, PCtxtHandle, SEC_WCHAR *, ULONG, ULONG, ULONG, PSecBufferDesc, ULONG, PCtxtHandle, PSecBufferDesc, ULONG *, PTimeStamp)
SECURITY_STATUS SEC_ENTRY QueryContextAttributesW(_In_ PCtxtHandle phContext, _In_ ULONG ulAttribute, _Out_ void *pBuffer)
struct _SecPkgContext_NamesW SecPkgContext_NamesW
struct _SecPkgContext_UserFlags SecPkgContext_UserFlags
struct _SecPkgContext_PasswordExpiry * PSecPkgContext_PasswordExpiry
struct _SecPkgContext_AuthorityW * PSecPkgContext_AuthorityW
struct _SECURITY_INTEGER * PSECURITY_INTEGER
struct _SecPkgContext_DceInfo SecPkgContext_DceInfo
struct _SecBuffer SecBuffer
struct _SecHandle SecHandle
struct _SecPkgContext_Sizes SecPkgContext_Sizes
SECURITY_STATUS SEC_ENTRY ExportSecurityContext(_In_ PCtxtHandle phContext, _In_ ULONG fFlags, _Out_ PSecBuffer pPackedContext, _Out_ void **pToken)
struct _SECURITY_STRING SECURITY_STRING
SECURITY_STATUS(SEC_ENTRY * ADD_CREDENTIALS_FN_W)(PCredHandle, SEC_WCHAR *, SEC_WCHAR *, ULONG, void *, SEC_GET_KEY_FN, void *, PTimeStamp)
struct _SecPkgContext_KeyInfoW * PSecPkgContext_KeyInfoW
struct _SecPkgContext_NegotiationInfoW * PSecPkgContext_NegotiationInfoW
struct _SecPkgContext_StreamSizes * PSecPkgContext_StreamSizes
struct _SecPkgContext_Lifespan * PSecPkgContext_Lifespan
struct _SecBufferDesc * PSecBufferDesc
struct _SecPkgContext_DceInfo * PSecPkgContext_DceInfo
SECURITY_STATUS(SEC_ENTRY * DECRYPT_MESSAGE_FN)(PCtxtHandle, PSecBufferDesc, ULONG, PULONG)
struct _SecBuffer * PSecBuffer
struct _SEC_CHANNEL_BINDINGS SEC_CHANNEL_BINDINGS
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)
struct _SECURITY_STRING * PSECURITY_STRING
SECURITY_STATUS(SEC_ENTRY * MAKE_SIGNATURE_FN)(PCtxtHandle, ULONG, PSecBufferDesc, ULONG)
struct _SEC_CHANNEL_BINDINGS * PSEC_CHANNEL_BINDINGS
SECURITY_STATUS SEC_ENTRY DecryptMessage(_In_ PCtxtHandle phContext, _In_ PSecBufferDesc pMessage, _In_ ULONG MessageSeqNo, _Out_opt_ PULONG pfQOP)
struct _SecPkgContext_CredentialNameW * PSecPkgContext_CredentialNameW
SECURITY_STATUS(SEC_ENTRY * APPLY_CONTROL_TOKEN_FN)(PCtxtHandle, PSecBufferDesc)
SECURITY_INTEGER TimeStamp
PULONG MinorVersion OPTIONAL
ACCEPT_SECURITY_CONTEXT_FN AcceptSecurityContext
INITIALIZE_SECURITY_CONTEXT_FN_W InitializeSecurityContextW
DELETE_SECURITY_CONTEXT_FN DeleteSecurityContext
QUERY_SECURITY_CONTEXT_TOKEN_FN QuerySecurityContextToken
ENCRYPT_MESSAGE_FN EncryptMessage
VERIFY_SIGNATURE_FN VerifySignature
EXPORT_SECURITY_CONTEXT_FN ExportSecurityContext
QUERY_SECURITY_PACKAGE_INFO_FN_W QuerySecurityPackageInfoW
ADD_CREDENTIALS_FN_W AddCredentialsW
SET_CONTEXT_ATTRIBUTES_FN_W SetContextAttributesW
ACQUIRE_CREDENTIALS_HANDLE_FN_W AcquireCredentialsHandleW
DECRYPT_MESSAGE_FN DecryptMessage
FREE_CONTEXT_BUFFER_FN FreeContextBuffer
ENUMERATE_SECURITY_PACKAGES_FN_W EnumerateSecurityPackagesW
COMPLETE_AUTH_TOKEN_FN CompleteAuthToken
FREE_CREDENTIALS_HANDLE_FN FreeCredentialsHandle
REVERT_SECURITY_CONTEXT_FN RevertSecurityContext
IMPORT_SECURITY_CONTEXT_FN_W ImportSecurityContextW
MAKE_SIGNATURE_FN MakeSignature
APPLY_CONTROL_TOKEN_FN ApplyControlToken
QUERY_CONTEXT_ATTRIBUTES_FN_W QueryContextAttributesW
QUERY_CREDENTIALS_ATTRIBUTES_FN_W QueryCredentialsAttributesW
IMPERSONATE_SECURITY_CONTEXT_FN ImpersonateSecurityContext
ULONG dwInitiatorAddrType
ULONG dwApplicationDataOffset
ULONG cbApplicationDataLength
ULONG PackedCredentialsOffset
USHORT PackedCredentialsLength
MIDL_PROP([size_is(cBuffers)]) _Field_size_(cBuffers) PSecBuffer pBuffers
_Field_size_bytes_(cbBuffer) void SEC_FAR *pvBuffer
SEC_WCHAR * sAuthorityName
SECPKG_CRED_CLASS CredClass
SEC_WCHAR * sCredentialName
SEC_WCHAR * sEncryptAlgorithmName
SEC_WCHAR * sSignatureAlgorithmName
_Field_size_bytes_(VerifyKeyLength) PUCHAR VerifyKeyValue
_Field_size_bytes_(KeyLength) PUCHAR KeyValue
TimeStamp tsPasswordExpires
SEC_WCHAR * sProtocolName
_Field_size_bytes_(SessionKeyLength) PUCHAR SessionKey
MIDL_PROP([string]) SEC_WCHAR *sUserName
MIDL_PROP([string]) SEC_WCHAR *Name
MIDL_PROP([string]) SEC_WCHAR *Comment
_In_opt_ PALLOCATE_FUNCTION Allocate
SECURITY_STATUS SEC_ENTRY SspiUnmarshalAuthIdentity(_In_ PULONG AuthIdentityLength, _In_reads_bytes_(AuthIdentityLength) PCHAR AuthIdentityByteArray, _Outptr_ PSEC_WINNT_AUTH_IDENTITY_OPAQUE *ppAuthIdentity)
SECURITY_STATUS SEC_ENTRY SspiCompareAuthIdentities(_In_opt_ PSEC_WINNT_AUTH_IDENTITY_OPAQUE AuthIdentity1, _In_opt_ PSEC_WINNT_AUTH_IDENTITY_OPAQUE AuthIdentity2, _Out_opt_ PBOOLEAN SameSuppliedUser, _Out_opt_ PBOOLEAN SameSuppliedIdentity)
SECURITY_STATUS(SEC_ENTRY * ENUMERATE_SECURITY_PACKAGES_FN_W)(PULONG, PSecPkgInfoW *)
KSECDDDECLSPEC NTSTATUS NTAPI SecMakeSPN(_In_ PUNICODE_STRING ServiceClass, _In_ PUNICODE_STRING ServiceName, _In_opt_ PUNICODE_STRING InstanceName, _In_opt_ USHORT InstancePort, _In_opt_ PUNICODE_STRING Referrer, _Inout_ PUNICODE_STRING Spn, _Out_opt_ PULONG Length, _In_ BOOLEAN Allocate)
SECURITY_STATUS(SEC_ENTRY * IMPORT_SECURITY_CONTEXT_FN_W)(PSSPI_SEC_STRING, PSecBuffer, PVOID, PCtxtHandle)
SECURITY_STATUS(SEC_ENTRY * COMPLETE_AUTH_TOKEN_FN)(PCtxtHandle, PSecBufferDesc)
SECURITY_STATUS(SEC_ENTRY * ACCEPT_SECURITY_CONTEXT_FN)(PCredHandle, PCtxtHandle, PSecBufferDesc, ULONG, ULONG, PCtxtHandle, PSecBufferDesc, PULONG, PTimeStamp)
KSECDDDECLSPEC NTSTATUS NTAPI SecMakeSPNEx(_In_ PUNICODE_STRING ServiceClass, _In_ PUNICODE_STRING ServiceName, _In_opt_ PUNICODE_STRING InstanceName, _In_opt_ USHORT InstancePort, _In_opt_ PUNICODE_STRING Referrer, _In_opt_ PUNICODE_STRING TargetInfo, _Inout_ PUNICODE_STRING Spn, _Out_ PULONG Length OPTIONAL, _In_ BOOLEAN Allocate)
struct _SecPkgContext_NegoStatus * PSecPkgContext_NegoStatus
struct _SEC_WINNT_AUTH_IDENTITY_W * PSEC_WINNT_AUTH_IDENTITY_W
SECURITY_STATUS(SEC_ENTRY * DELETE_SECURITY_CONTEXT_FN)(PCtxtHandle)
SECURITY_STATUS(SEC_ENTRY * VERIFY_SIGNATURE_FN)(PCtxtHandle, PSecBufferDesc, ULONG, PULONG)
enum _SECPKG_CRED_CLASS SECPKG_CRED_CLASS
BOOLEAN SEC_ENTRY SspiIsPromptingNeeded(_In_ PULONG ErrorOrNtStatus)
SECURITY_STATUS(SEC_ENTRY * ENCRYPT_MESSAGE_FN)(PCtxtHandle, ULONG, PSecBufferDesc, ULONG)
struct _SEC_WINNT_AUTH_IDENTITY_W SEC_WINNT_AUTH_IDENTITY_W
KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountName(_In_ PUNICODE_STRING Name, _Inout_ PULONG SidSize, _Out_ PSID Sid, _Out_ PSID_NAME_USE NameUse, _Out_opt_ PULONG DomainSize, _Inout_opt_ PUNICODE_STRING ReferencedDomain)
SECURITY_STATUS(SEC_ENTRY * EXPORT_SECURITY_CONTEXT_FN)(PCtxtHandle, ULONG, PSecBuffer, PVOID *)
struct _SecPkgContext_SubjectAttributes SecPkgContext_SubjectAttributes
SECURITY_STATUS(SEC_ENTRY * QUERY_CONTEXT_ATTRIBUTES_FN_W)(PCtxtHandle, ULONG, PVOID)
SECURITY_STATUS(SEC_ENTRY * REVERT_SECURITY_CONTEXT_FN)(PCtxtHandle)
struct _SecPkgContext_NegoKeys SecPkgContext_NegoKeys
KSECDDDECLSPEC NTSTATUS NTAPI SecMakeSPNEx2(_In_ PUNICODE_STRING ServiceClass, _In_ PUNICODE_STRING ServiceName, _In_opt_ PUNICODE_STRING InstanceName, _In_opt_ USHORT InstancePort, _In_opt_ PUNICODE_STRING Referrer, _In_opt_ PUNICODE_STRING InTargetInfo, _Inout_ PUNICODE_STRING Spn, _Out_opt_ PULONG TotalSize, _In_ BOOLEAN Allocate, _In_ BOOLEAN IsTargetInfoMarshaled)
SECURITY_STATUS(SEC_ENTRY * FREE_CONTEXT_BUFFER_FN)(_Inout_ PVOID)
SECURITY_STATUS(SEC_ENTRY * QUERY_CREDENTIALS_ATTRIBUTES_FN_W)(PCredHandle, ULONG, PVOID)
enum _SECPKG_CRED_CLASS * PSECPKG_CRED_CLASS
SECURITY_STATUS(SEC_ENTRY * IMPERSONATE_SECURITY_CONTEXT_FN)(PCtxtHandle)
SECURITY_STATUS(SEC_ENTRY * FREE_CREDENTIALS_HANDLE_FN)(PCredHandle)
struct _SecPkgContext_NegoPackageInfo * PSecPkgContext_NegoPackageInfo
SECURITY_STATUS SEC_ENTRY SspiGetTargetHostName(_In_ PCWSTR pszTargetName, _Outptr_ PWSTR *pszHostName)
VOID SEC_ENTRY SspiFreeAuthIdentity(_In_opt_ PSEC_WINNT_AUTH_IDENTITY_OPAQUE AuthData)
struct _SEC_WINNT_AUTH_IDENTITY_EX2 SEC_WINNT_AUTH_IDENTITY_EX2
SECURITY_STATUS(SEC_ENTRY * INITIALIZE_SECURITY_CONTEXT_FN_W)(PCredHandle, PCtxtHandle, PSSPI_SEC_STRING, ULONG, ULONG, ULONG, PSecBufferDesc, ULONG, PCtxtHandle, PSecBufferDesc, PULONG, PTimeStamp)
SECURITY_STATUS SEC_ENTRY SspiValidateAuthIdentity(_In_ PSEC_WINNT_AUTH_IDENTITY_OPAQUE AuthData)
struct _SEC_NEGOTIATION_INFO SEC_NEGOTIATION_INFO
SECURITY_STATUS(SEC_ENTRY * ACQUIRE_CREDENTIALS_HANDLE_FN_W)(PSSPI_SEC_STRING, PSSPI_SEC_STRING, ULONG, PVOID, PVOID, SEC_GET_KEY_FN, PVOID, PCredHandle, PTimeStamp)
struct _SecPkgContext_CredInfo * PSecPkgContext_CredInfo
struct _SEC_WINNT_AUTH_IDENTITY_EXW * PSEC_WINNT_AUTH_IDENTITY_EXW
KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupWellKnownSid(_In_ WELL_KNOWN_SID_TYPE SidType, _Out_ PSID Sid, _In_ ULONG SidBufferSize, _Inout_opt_ PULONG SidSize)
struct _SEC_NEGOTIATION_INFO * PSEC_NEGOTIATION_INFO
struct _SEC_WINNT_AUTH_IDENTITY_EX2 * PSEC_WINNT_AUTH_IDENTITY_EX2
VOID SEC_ENTRY SspiZeroAuthIdentity(_In_opt_ PSEC_WINNT_AUTH_IDENTITY_OPAQUE AuthData)
SECURITY_STATUS SEC_ENTRY SspiExcludePackage(_In_opt_ PSEC_WINNT_AUTH_IDENTITY_OPAQUE AuthIdentity, _In_ PCWSTR pszPackageName, _Outptr_ PSEC_WINNT_AUTH_IDENTITY_OPAQUE *ppNewAuthIdentity)
struct _SecPkgContext_NegoPackageInfo SecPkgContext_NegoPackageInfo
KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountSid(_In_ PSID Sid, _Out_ PULONG NameSize, _Inout_ PUNICODE_STRING NameBuffer, _Out_ PULONG DomainSize OPTIONAL, _Out_opt_ PUNICODE_STRING DomainBuffer, _Out_ PSID_NAME_USE NameUse)
struct _SecPkgContext_NegoKeys * PSecPkgContext_NegoKeys
VOID SEC_ENTRY SspiLocalFree(_In_opt_ PVOID DataBuffer)
struct _SecPkgContext_CredInfo SecPkgContext_CredInfo
SECURITY_STATUS(SEC_ENTRY * QUERY_SECURITY_CONTEXT_TOKEN_FN)(PCtxtHandle, PVOID *)
SECURITY_STATUS SEC_ENTRY SspiCopyAuthIdentity(_In_ PSEC_WINNT_AUTH_IDENTITY_OPAQUE AuthData, _Deref_out_ PSEC_WINNT_AUTH_IDENTITY_OPAQUE *AuthDataCopy)
struct _SecPkgContext_NegoStatus SecPkgContext_NegoStatus
SECURITY_STATUS SEC_ENTRY SspiMarshalAuthIdentity(_In_ PSEC_WINNT_AUTH_IDENTITY_OPAQUE AuthIdentity, _Out_ PULONG AuthIdentityLength, _Outptr_result_bytebuffer_(*AuthIdentityLength) PCHAR *AuthIdentityByteArray)
SECURITY_STATUS(SEC_ENTRY * QUERY_SECURITY_PACKAGE_INFO_FN_W)(PSSPI_SEC_STRING, PSecPkgInfoW *)
SECURITY_STATUS SEC_ENTRY SspiEncodeAuthIdentityAsStrings(_In_ PSEC_WINNT_AUTH_IDENTITY_OPAQUE pAuthIdentity, _Deref_out_opt_ PCWSTR *ppszUserName, _Deref_out_opt_ PCWSTR *ppszDomainName, _Deref_opt_out_opt_ PCWSTR *ppszPackedCredentialsString)
SECURITY_STATUS(SEC_ENTRY * DECRYPT_MESSAGE_FN)(PCtxtHandle, PSecBufferDesc, ULONG, PULONG)
@ SecPkgCredClass_PersistedSpecific
@ SecPkgCredClass_Explicit
@ SecPkgCredClass_PersistedGeneric
@ SecPkgCredClass_Ephemeral
SECURITY_STATUS(SEC_ENTRY * MAKE_SIGNATURE_FN)(PCtxtHandle, ULONG, PSecBufferDesc, ULONG)
struct _SecPkgContext_SubjectAttributes * PSecPkgContext_SubjectAttributes
SECURITY_STATUS(SEC_ENTRY * ADD_CREDENTIALS_FN_W)(PCredHandle, PSSPI_SEC_STRING, PSSPI_SEC_STRING, ULONG, PVOID, SEC_GET_KEY_FN, PVOID, PTimeStamp)
SECURITY_STATUS SEC_ENTRY SspiEncodeStringsAsAuthIdentity(_In_opt_ PCWSTR pszUserName, _In_opt_ PCWSTR pszDomainName, _In_opt_ PCWSTR pszPackedCredentialsString, _Deref_out_ PSEC_WINNT_AUTH_IDENTITY_OPAQUE *ppAuthIdentity)
struct _SEC_WINNT_AUTH_IDENTITY_EXW SEC_WINNT_AUTH_IDENTITY_EXW
LARGE_INTEGER _SECURITY_INTEGER
SECURITY_STATUS(SEC_ENTRY * APPLY_CONTROL_TOKEN_FN)(PCtxtHandle, PSecBufferDesc)