ReactOS 0.4.15-dev-7918-g2a2556c
sspi.h
Go to the documentation of this file.
1#ifndef __SSPI_H__
2#define __SSPI_H__
3
4// for ntifs.h:
5#define ISSP_LEVEL 32
6#define ISSP_MODE 0
7
8#ifdef MIDL_PASS
9#define MIDL_PROP(x) x
10#else
11#define MIDL_PROP(x)
12#endif
13
14#define SEC_TEXT TEXT
15#define SEC_FAR
16#define SEC_ENTRY __stdcall
17
18#if defined(_NO_KSECDD_IMPORT_)
19#define KSECDDDECLSPEC
20#else
21#define KSECDDDECLSPEC __declspec(dllimport)
22#endif
23
24#define SECQOP_WRAP_NO_ENCRYPT 0x80000001
25#define SECQOP_WRAP_OOB_DATA 0x40000000
26
27#define SECURITY_ENTRYPOINTW SEC_TEXT("InitSecurityInterfaceW")
28#define SECURITY_ENTRYPOINT SECURITY_ENTRYPOINTW
29
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
34
35#define SECURITY_NATIVE_DREP 0x00000010
36#define SECURITY_NETWORK_DREP 0x00000000
37
38#define SECPKG_ID_NONE 0xFFFF
39
40#define SECPKG_CRED_ATTR_NAMES 1
41#define SECPKG_CRED_ATTR_SSI_PROVIDER 2
42
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
74
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
97
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
105
106#define SECPKG_CONTEXT_EXPORT_RESET_NEW 0x00000001
107#define SECPKG_CONTEXT_EXPORT_DELETE_OLD 0x00000002
108#define SECPKG_CONTEXT_EXPORT_TO_KERNEL 0x00000004
109
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
113
114#define SecPkgContext_NativeNames SecPkgContext_NativeNamesW
115#define PSecPkgContext_NativeNames PSecPkgContext_NativeNamesW
116
117#define SECBUFFER_VERSION 0
118
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
137
138#define SECBUFFER_ATTRMASK 0xF0000000
139#define SECBUFFER_READONLY 0x80000000
140#define SECBUFFER_READONLY_WITH_CHECKSUM 0x10000000
141#define SECBUFFER_RESERVED 0x60000000
142
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
168
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
195
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
219//#define SSP_RET_REAUTHENTICATION 0x08000000 // internal
220
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
246//#define SSP_RET_REAUTHENTICATION 0x08000000 // internal
247#define ASC_RET_MISSING_BINDINGS 0x10000000
248
249#define SEC_DELETED_HANDLE ((ULONG_PTR)(-2))
250
251#define SecInvalidateHandle(x) \
252 ((PSecHandle)(x))->dwLower = ((PSecHandle)(x))->dwUpper = ((ULONG_PTR)((INT_PTR)-1));
253
254#define SecIsValidHandle(x) \
255 ( ( ((PSecHandle)(x))->dwLower != (ULONG_PTR)(INT_PTR)-1 ) && \
256 ( ((PSecHandle)(x))->dwUpper != (ULONG_PTR)(INT_PTR)-1 ) )
257
263#if ISSP_MODE == 0
264#define PSSPI_SEC_STRING PSECURITY_STRING
265#else
266#define PSSPI_SEC_STRING SEC_WCHAR*
267#endif
268
270
271#ifndef __SECSTATUS_DEFINED__
273#define __SECSTATUS_DEFINED__
274#endif
275
277{
284
286{
292
293typedef struct _SEC_CHANNEL_BINDINGS
294{
304
305#ifndef _AUTH_IDENTITY_EX2_DEFINED
306#define _AUTH_IDENTITY_EX2_DEFINED
308{
322#define SEC_WINNT_AUTH_IDENTITY_VERSION_2 0x201
323#endif
324
325#ifndef _AUTH_IDENTITY_DEFINED
326#define _AUTH_IDENTITY_DEFINED
327typedef struct _SEC_WINNT_AUTH_IDENTITY_W
328{
335 ULONG Flags;
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
342#endif
343
344#ifndef SEC_WINNT_AUTH_IDENTITY_VERSION
345#define SEC_WINNT_AUTH_IDENTITY_VERSION 0x200
347{
360#define SEC_WINNT_AUTH_IDENTITY_EX SEC_WINNT_AUTH_IDENTITY_EXW
361#define PSEC_WINNT_AUTH_IDENTITY_EX PSEC_WINNT_AUTH_IDENTITY_EXW
362#endif
363
364#ifndef __SECHANDLE_DEFINED__
365typedef struct _SecHandle
366{
370#define __SECHANDLE_DEFINED__
371#endif
372
374
375typedef struct _SecBuffer
376{
379#ifdef MIDL_PASS
380 MIDL_PROP([size_is(cbBuffer)]) PCHAR pvBuffer;
381#else
383#endif
385
386typedef struct _SecBufferDesc
387{
392
393typedef struct _SecPkgInfoW
394{
402#define SecPkgInfo SecPkgInfoW
403#define PSecPkgInfo PSecPkgInfoW
404
405typedef struct _SecPkgCredentials_NamesW
406{
409#define SecPkgCredentials_Names SecPkgCredentials_NamesW
410#define PSecPkgCredentials_Names PSecPkgCredentials_NamesW
411
412typedef struct _SecPkgContext_NamesW
413{
416#define SecPkgContext_Names SecPkgContext_NamesW
417#define PSecPkgContext_Names PSecPkgContext_NamesW
418
419#if OSVER(NTDDI_VERSION) > NTDDI_WIN2K
421{
425#endif
426#define SecPkgContext_CredentialName SecPkgContext_CredentialNameW
427#define PSecPkgContext_CredentialName PSecPkgContext_CredentialNameW
428
430{
433
435{
439
441{
444
446{
449
450typedef struct _SecPkgContext_Sizes
451{
457
458typedef struct _SecPkgContext_StreamSizes
459{
466
467typedef struct _SecPkgContext_Lifespan
468{
472
474{
477
478typedef struct _SecPkgContext_ProtoInfoW
479{
484#define SecPkgContext_ProtoInfo SecPkgContext_ProtoInfoW
485#define PSecPkgContext_ProtoInfo PSecPkgContext_ProtoInfoW
486
487typedef struct _SecPkgContext_KeyInfoW
488{
495#define SecPkgContext_KeyInfo SecPkgContext_KeyInfoW
496#define PSecPkgContext_KeyInfo PSecPkgContext_KeyInfoW
497
498typedef struct _SecPkgContext_SessionKey
499{
503
505{
513
514typedef struct _SecPkgContext_DceInfo
515{
519
520typedef struct _SecPkgContext_PackageInfoW
521{
524#define SecPkgContext_PackageInfo SecPkgContext_PackageInfoW
525#define PSecPkgContext_PackageInfo PSecPkgContext_PackageInfoW
526
527typedef struct _SecPkgContext_UserFlags
528{
531
532typedef struct _SecPkgContext_Flags
533{
534 ULONG Flags;
536
538{
542
543typedef struct _SecPkgContext_AuthorityW
544{
547#define SecPkgContext_Authority SecPkgContext_AuthorityW
548#define PSecPkgContext_Authority PSecPkgContext_AuthorityW
549
550
551#if NTDDI_VERSION > NTDDI_WS03
552typedef struct _SecPkgCredentials_SSIProviderW
553{
554 SEC_WCHAR *sProviderName;
555 ULONG ProviderInfoLength;
556 PCHAR ProviderInfo;
557} SecPkgCredentials_SSIProviderW, *PSecPkgCredentials_SSIProviderW;
558#define SecPkgCredentials_SSIProvider SecPkgCredentials_SSIProviderW
559#define PSecPkgCredentials_SSIProvider PSecPkgCredentials_SSIProviderW
560
561typedef struct _SecPkgContext_LogoffTime
562{
563 TimeStamp tsLogoffTime;
564} SecPkgContext_LogoffTime, *PSecPkgContext_LogoffTime;
565#endif
566
567/* forward declaration */
569#define SecurityFunctionTable SecurityFunctionTableW
570#define PSecurityFunctionTable PSecurityFunctionTableW
571
572typedef
575 PVOID Arg,
576 PVOID Principal,
577 ULONG KeyVer,
578 PVOID *Key,
580
585 _In_opt_ PCredHandle phCredential,
586 _In_opt_ PCtxtHandle phContext,
588 _In_ ULONG fContextReq,
589 _In_ ULONG TargetDataRep,
590 _In_opt_ PCtxtHandle phNewContext,
591 _In_opt_ PSecBufferDesc pOutput,
592 _Out_ PULONG pfContextAttr,
593 _Out_opt_ PTimeStamp ptsExpiry);
594
595typedef
601 ULONG,
602 ULONG,
605 PULONG,
606 PTimeStamp);
607
612 _In_opt_ PSSPI_SEC_STRING pPrincipal,
613 _In_ PSSPI_SEC_STRING pPackage,
614 _In_ ULONG fCredentialUse,
615 _In_opt_ PVOID pvLogonId,
616 _In_opt_ PVOID pAuthData,
617 _In_opt_ SEC_GET_KEY_FN pGetKeyFn,
618 _In_opt_ PVOID pvGetKeyArgument,
619 _Out_ PCredHandle phCredential,
620 _Out_opt_ PTimeStamp ptsExpiry);
621#define AcquireCredentialsHandle AcquireCredentialsHandleW
622
623typedef
628 ULONG,
629 PVOID,
630 PVOID,
632 PVOID,
634 PTimeStamp);
635#define ACQUIRE_CREDENTIALS_HANDLE_FN ACQUIRE_CREDENTIALS_HANDLE_FN_W
636
640 _In_ PCredHandle hCredentials,
641 _In_opt_ LPSTR pszPrincipal,
642 _In_ LPSTR pszPackage,
643 _In_ ULONG fCredentialUse,
644 _In_opt_ PVOID pAuthData,
645 _In_opt_ SEC_GET_KEY_FN pGetKeyFn,
646 _In_opt_ PVOID pvGetKeyArgument,
647 _Out_opt_ PTimeStamp ptsExpiry);
648
649typedef
653 SEC_CHAR *,
654 SEC_CHAR *,
655 ULONG,
656 PVOID,
658 PVOID,
659 PTimeStamp);
660
665 _In_ PCredHandle hCredentials,
666 _In_opt_ PSSPI_SEC_STRING pPrincipal,
667 _In_ PSSPI_SEC_STRING pPackage,
668 _In_ ULONG fCredentialUse,
669 _In_opt_ PVOID pAuthData,
670 _In_opt_ SEC_GET_KEY_FN pGetKeyFn,
671 _In_opt_ PVOID pvGetKeyArgument,
672 _Out_opt_ PTimeStamp ptsExpiry);
673
674typedef
680 ULONG,
681 PVOID,
683 PVOID,
684 PTimeStamp);
685
686#ifdef UNICODE
687#define AddCredentials AddCredentialsW
688#define ADD_CREDENTIALS_FN ADD_CREDENTIALS_FN_W
689#else
690#define AddCredentials AddCredentialsA
691#define ADD_CREDENTIALS_FN ADD_CREDENTIALS_FN_A
692#endif
693
698 _In_ PCtxtHandle phContext,
699 _In_ PSecBufferDesc pInput);
700
701typedef
705
706#if (ISSP_MODE != 0)
707
710ChangeAccountPasswordA(
711 _In_ SEC_CHAR* pszPackageName,
712 _In_ SEC_CHAR* pszDomainName,
713 _In_ SEC_CHAR* pszAccountName,
714 _In_ SEC_CHAR* pszOldPassword,
715 _In_ SEC_CHAR* pszNewPassword,
716 _In_ BOOLEAN bImpersonating,
718 _Inout_ PSecBufferDesc pOutput);
719
720typedef
722(SEC_ENTRY * CHANGE_PASSWORD_FN_A)(
723 SEC_CHAR *,
724 SEC_CHAR *,
725 SEC_CHAR *,
726 SEC_CHAR *,
727 SEC_CHAR *,
728 BOOLEAN,
729 ULONG,
731
734ChangeAccountPasswordW(
735 _In_ SEC_WCHAR* pszPackageName,
736 _In_ SEC_WCHAR* pszDomainName,
737 _In_ SEC_WCHAR* pszAccountName,
738 _In_ SEC_WCHAR* pszOldPassword,
739 _In_ SEC_WCHAR* pszNewPassword,
740 _In_ BOOLEAN bImpersonating,
742 _Inout_ PSecBufferDesc pOutput);
743
744typedef
746(SEC_ENTRY * CHANGE_PASSWORD_FN_W)(
747 SEC_WCHAR *,
748 SEC_WCHAR *,
749 SEC_WCHAR *,
750 SEC_WCHAR *,
751 SEC_WCHAR *,
752 BOOLEAN,
753 ULONG,
755
756#ifdef UNICODE
757#define ChangeAccountPassword ChangeAccountPasswordW
758#define CHANGE_PASSWORD_FN CHANGE_PASSWORD_FN_W
759#else
760#define ChangeAccountPassword ChangeAccountPasswordA
761#define CHANGE_PASSWORD_FN CHANGE_PASSWORD_FN_A
762#endif
763
764#endif /* ISSP_MODE != 0 */
765
769 _In_ PCtxtHandle phContext,
770 _In_ PSecBufferDesc pToken);
771
772typedef
777
781 _In_ PCtxtHandle phContext,
782 _Inout_ PSecBufferDesc pMessage,
783 _In_ ULONG MessageSeqNo,
784 _Out_opt_ PULONG pfQOP);
785
786typedef
791 ULONG,
792 PULONG);
793
798 _In_ PCtxtHandle phContext);
799
800typedef
804
808 _In_ PCtxtHandle phContext,
809 _In_ ULONG fQOP,
810 _Inout_ PSecBufferDesc pMessage,
811 _In_ ULONG MessageSeqNo);
812
813typedef
817 ULONG,
819 ULONG);
820
825 _Out_ PULONG pcPackages,
826 _Deref_out_ PSecPkgInfoW* ppPackageInfo);
827#define EnumerateSecurityPackages EnumerateSecurityPackagesW
828
829typedef
832 PULONG,
833 PSecPkgInfoW*);
834#define ENUMERATE_SECURITY_PACKAGES_FN ENUMERATE_SECURITY_PACKAGES_FN_W
835
840 _In_ PCtxtHandle phContext,
841 _In_ ULONG fFlags,
842 _Out_ PSecBuffer pPackedContext,
843 _Out_ PVOID* pToken);
844
845typedef
849 ULONG,
851 PVOID*);
852
856 _Inout_ PVOID pvContextBuffer);
857
858typedef
861 _Inout_ PVOID);
862
867 _In_ PCredHandle phCredential);
868
869typedef
873
878 _In_ PCtxtHandle phContext);
879
880typedef
884
889 _In_ PSSPI_SEC_STRING pszPackage,
890 _In_ PSecBuffer pPackedContext,
892 _Out_ PCtxtHandle phContext);
893#define ImportSecurityContext ImportSecurityContextW
894
895typedef
900 PVOID,
902#define IMPORT_SECURITY_CONTEXT_FN IMPORT_SECURITY_CONTEXT_FN_W
903
908 _In_opt_ PCredHandle phCredential,
909 _In_opt_ PCtxtHandle phContext,
910 _In_opt_ PSSPI_SEC_STRING pTargetName,
911 _In_ ULONG fContextReq,
913 _In_ ULONG TargetDataRep,
916 _Inout_opt_ PCtxtHandle phNewContext,
918 _Out_ PULONG pfContextAttr,
919 _Out_opt_ PTimeStamp ptsExpiry);
920#define InitializeSecurityContext InitializeSecurityContextW
921
922typedef
928 ULONG,
929 ULONG,
930 ULONG,
932 ULONG,
935 PULONG,
936 PTimeStamp);
937#define INITIALIZE_SECURITY_CONTEXT_FN INITIALIZE_SECURITY_CONTEXT_FN_W
938
943#define InitSecurityInterface InitSecurityInterfaceW
944
945typedef
948#define INIT_SECURITY_INTERFACE INIT_SECURITY_INTERFACE_W
949
954 _In_ PCtxtHandle phContext,
955 _In_ ULONG fQOP,
956 _In_ PSecBufferDesc pMessage,
957 _In_ ULONG MessageSeqNo);
958
959typedef
963 ULONG,
965 ULONG);
966
971 _In_ PCtxtHandle phContext,
972 _In_ ULONG ulAttribute,
974#define QueryContextAttributes QueryContextAttributesW
975
976typedef
980 ULONG,
981 PVOID);
982#define QUERY_CONTEXT_ATTRIBUTES_FN QUERY_CONTEXT_ATTRIBUTES_FN_W
983
988 _In_ PCredHandle phCredential,
989 _In_ ULONG ulAttribute,
991#define QueryCredentialsAttributes QueryCredentialsAttributesW
992
993typedef
997 ULONG,
998 PVOID);
999#define QUERY_CREDENTIALS_ATTRIBUTES_FN QUERY_CREDENTIALS_ATTRIBUTES_FN_W
1000
1005 _In_ PCtxtHandle phContext,
1006 _Out_ PVOID* Token);
1007
1008typedef
1011 PCtxtHandle, PVOID *);
1012
1017 _In_ PSSPI_SEC_STRING pPackageName,
1018 _Deref_out_ PSecPkgInfoW *ppPackageInfo);
1019#define QuerySecurityPackageInfo QuerySecurityPackageInfoW
1020
1021typedef
1025 PSecPkgInfoW *);
1026#define QUERY_SECURITY_PACKAGE_INFO_FN QUERY_SECURITY_PACKAGE_INFO_FN_W
1027
1032 _In_ PCtxtHandle phContext);
1033
1034typedef
1037 PCtxtHandle);
1038
1039#if (OSVER(NTDDI_VERSION) > NTDDI_WIN2K)
1043 _In_ PCtxtHandle phContext,
1044 _In_ ULONG ulAttribute,
1045 _In_bytecount_(cbBuffer) PVOID pBuffer,
1046 _In_ ULONG cbBuffer);
1047#define SetContextAttributes SetContextAttributesW
1048
1049typedef
1053 ULONG,
1054 PVOID,
1055 ULONG);
1056#define SET_CONTEXT_ATTRIBUTES_FN SET_CONTEXT_ATTRIBUTES_FN_W
1057#endif
1058
1059#if (NTDDI_VERSION > NTDDI_WS03)
1063SetCredentialsAttributesW(
1064 _In_ PCredHandle phCredential,
1065 _In_ ULONG ulAttribute,
1066 _In_bytecount_(cbBuffer) PVOID pBuffer,
1067 _In_ ULONG cbBuffer);
1068#define SetCredentialsAttributes SetCredentialsAttributesW
1069
1070typedef
1072(SEC_ENTRY * SET_CREDENTIALS_ATTRIBUTES_FN_W)(
1074 ULONG,
1075 PVOID,
1076 ULONG);
1077#define SET_CREDENTIALS_ATTRIBUTES_FN SET_CREDENTIALS_ATTRIBUTES_FN_W
1078#endif /* NTDDI_VERSION > NTDDI_WS03 */
1079
1084 _In_ PCtxtHandle phContext,
1085 _In_ PSecBufferDesc pMessage,
1086 _In_ ULONG MessageSeqNo,
1087 _Out_ PULONG pfQOP);
1088
1089typedef
1094 ULONG,
1095 PULONG);
1096
1097#if (ISSP_MODE == 0)
1098
1101NTAPI
1103 _In_ PUNICODE_STRING ServiceClass,
1106 _In_opt_ USHORT InstancePort,
1107 _In_opt_ PUNICODE_STRING Referrer,
1111
1112#if (NTDDI_VERSION >= NTDDI_WINXP)
1115NTAPI
1117 _In_ PUNICODE_STRING ServiceClass,
1120 _In_opt_ USHORT InstancePort,
1121 _In_opt_ PUNICODE_STRING Referrer,
1122 _In_opt_ PUNICODE_STRING TargetInfo,
1126
1131 _In_ PSID Sid,
1132 _Out_ PULONG NameSize,
1133 _Inout_ PUNICODE_STRING NameBuffer,
1134 _Out_ PULONG DomainSize OPTIONAL,
1135 _Out_opt_ PUNICODE_STRING DomainBuffer,
1136 _Out_ PSID_NAME_USE NameUse);
1137
1143 _Inout_ PULONG SidSize,
1144 _Out_ PSID Sid,
1145 _Out_ PSID_NAME_USE NameUse,
1146 _Out_opt_ PULONG DomainSize, // WDK says _Out_ only + ... OPTIONAL
1147 _Inout_opt_ PUNICODE_STRING ReferencedDomain);
1148#endif
1149
1150#if (NTDDI_VERSION >= NTDDI_WS03)
1155 _In_ WELL_KNOWN_SID_TYPE SidType,
1156 _Out_ PSID Sid,
1157 _In_ ULONG SidBufferSize,
1158 _Inout_opt_ PULONG SidSize);
1159#endif
1160
1161#if (NTDDI_VERSION >= NTDDI_VISTA)
1164NTAPI
1166 _In_ PUNICODE_STRING ServiceClass,
1169 _In_opt_ USHORT InstancePort,
1170 _In_opt_ PUNICODE_STRING Referrer,
1171 _In_opt_ PUNICODE_STRING InTargetInfo,
1173 _Out_opt_ PULONG TotalSize,
1175 _In_ BOOLEAN IsTargetInfoMarshaled);
1176#endif
1177
1178#endif /* ISSP_MODE == 0 */
1179
1180#if (NTDDI_VERSION >= NTDDI_WIN7)
1181
1186 _Deref_out_opt_ PCWSTR* ppszUserName,
1187 _Deref_out_opt_ PCWSTR* ppszDomainName,
1188 _Deref_opt_out_opt_ PCWSTR* ppszPackedCredentialsString);
1189
1194
1200
1201VOID
1205
1206VOID
1210
1211VOID
1214 _In_opt_ PVOID DataBuffer);
1215
1219 _In_opt_ PCWSTR pszUserName,
1220 _In_opt_ PCWSTR pszDomainName,
1221 _In_opt_ PCWSTR pszPackedCredentialsString,
1223
1229 _Out_opt_ PBOOLEAN SameSuppliedUser,
1230 _Out_opt_ PBOOLEAN SameSuppliedIdentity);
1231
1236 _Out_ PULONG AuthIdentityLength,
1237 _Outptr_result_bytebuffer_(*AuthIdentityLength) PCHAR* AuthIdentityByteArray);
1238
1242 _In_ PULONG AuthIdentityLength,
1243 _In_reads_bytes_(AuthIdentityLength) PCHAR AuthIdentityByteArray,
1245
1246BOOLEAN
1249 _In_ PULONG ErrorOrNtStatus);
1250
1254 _In_ PCWSTR pszTargetName,
1255 _Outptr_ PWSTR* pszHostName);
1256
1261 _In_ PCWSTR pszPackageName,
1262 _Outptr_ PSEC_WINNT_AUTH_IDENTITY_OPAQUE* ppNewAuthIdentity);
1263
1264#define SEC_WINNT_AUTH_IDENTITY_MARSHALLED 0x04
1265#define SEC_WINNT_AUTH_IDENTITY_ONLY 0x08
1266
1267#endif /* NTDDI_VERSION >= NTDDI_WIN7 */
1268
1269#define FreeCredentialHandle FreeCredentialsHandle
1271{
1299#if OSVER(NTDDI_VERSION) > NTDDI_WIN2K
1301#endif
1302#if NTDDI_VERSION > NTDDI_WS03SP1
1303 SET_CREDENTIALS_ATTRIBUTES_FN_W SetCredentialsAttributesW;
1304#endif
1305#if ISSP_MODE != 0
1306 CHANGE_PASSWORD_FN_W ChangeAccountPasswordW;
1307#else
1309#endif
1310};
1311
1312#endif /* !__SSPI_H__ */
unsigned char BOOLEAN
#define VOID
Definition: acefi.h:82
LONG NTSTATUS
Definition: precomp.h:26
static WCHAR ServiceName[]
Definition: browser.c:19
@ Reserved2
Definition: bcd.h:202
@ Reserved1
Definition: bcd.h:201
_Must_inspect_result_ _Inout_ PFLT_VOLUME _In_opt_ PCUNICODE_STRING InstanceName
Definition: fltkernel.h:1163
Status
Definition: gdiplustypes.h:25
enum _SID_NAME_USE * PSID_NAME_USE
#define _Outptr_result_bytebuffer_(size)
Definition: ms_sal.h:472
#define _Out_opt_
Definition: ms_sal.h:346
#define _In_reads_bytes_(size)
Definition: ms_sal.h:321
#define _Inout_
Definition: ms_sal.h:378
#define _Field_size_(size)
Definition: ms_sal.h:593
#define _Deref_out_opt_
Definition: ms_sal.h:1013
#define _Deref_opt_out_opt_
Definition: ms_sal.h:1015
#define _Outptr_
Definition: ms_sal.h:427
#define _Inout_opt_
Definition: ms_sal.h:379
#define _Out_
Definition: ms_sal.h:345
#define _In_
Definition: ms_sal.h:308
#define _In_opt_
Definition: ms_sal.h:309
#define _Deref_out_
Definition: ms_sal.h:1012
#define _In_bytecount_(size)
Definition: ms_sal.h:812
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:95
_In_ ULONG _In_ ACCESS_MASK _In_ PSID Sid
Definition: rtlfuncs.h:1133
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
PVOID *typedef PSecBuffer
Definition: ntsecpkg.h:440
#define BOOLEAN
Definition: pedump.c:73
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
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)
Definition: sspi.h:421
SECURITY_STATUS(SEC_ENTRY * ENUMERATE_SECURITY_PACKAGES_FN_W)(PULONG, PSecPkgInfoW *)
Definition: sspi.h:208
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)
Definition: sspi.h:482
LONG SECURITY_STATUS
Definition: sspi.h:34
SECURITY_STATUS(SEC_ENTRY * QUERY_CONTEXT_ATTRIBUTES_FN_W)(PCtxtHandle, ULONG, void *)
Definition: sspi.h:516
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)
Definition: sspi.h:487
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 *)
Definition: sspi.h:900
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)
Definition: sspi.h:798
SECURITY_STATUS(SEC_ENTRY * ACQUIRE_CREDENTIALS_HANDLE_FN_W)(SEC_WCHAR *, SEC_WCHAR *, ULONG, PLUID, PVOID, SEC_GET_KEY_FN, PVOID, PCredHandle, PTimeStamp)
Definition: sspi.h:299
SECURITY_STATUS SEC_ENTRY FreeCredentialsHandle(_In_ PCredHandle phCredential)
Definition: stubs.c:143
SECURITY_INTEGER * PTimeStamp
Definition: sspi.h:78
#define SEC_ENTRY
Definition: sspi.h:27
SECURITY_STATUS(SEC_ENTRY * SET_CONTEXT_ATTRIBUTES_FN_W)(PCtxtHandle, ULONG, void *, ULONG)
Definition: sspi.h:946
SECURITY_STATUS SEC_ENTRY MakeSignature(_In_ PCtxtHandle phContext, _In_ ULONG fQOP, _In_ PSecBufferDesc pMessage, _In_ ULONG MessageSeqNo)
Definition: stubs.c:256
SECURITY_STATUS(SEC_ENTRY * ENCRYPT_MESSAGE_FN)(PCtxtHandle, ULONG, PSecBufferDesc, ULONG)
Definition: sspi.h:921
struct _SecBufferDesc SecBufferDesc
SECURITY_STATUS SEC_ENTRY VerifySignature(_In_ PCtxtHandle phContext, _In_ PSecBufferDesc pMessage, _In_ ULONG MessageSeqNo, _Out_ PULONG pfQOP)
Definition: stubs.c:419
struct _SecPkgContext_SessionKey SecPkgContext_SessionKey
struct _SECURITY_INTEGER SECURITY_INTEGER
SECURITY_STATUS(SEC_ENTRY * IMPORT_SECURITY_CONTEXT_FN_W)(SEC_WCHAR *, PSecBuffer, void *, PCtxtHandle)
Definition: sspi.h:856
void * PSEC_WINNT_AUTH_IDENTITY_OPAQUE
Definition: sspi.h:96
SECURITY_STATUS SEC_ENTRY FreeContextBuffer(_Inout_ PVOID pv)
Definition: stubs.c:134
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)
Definition: sspi.c:132
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)
Definition: sspi.h:886
SECURITY_STATUS(SEC_ENTRY * REVERT_SECURITY_CONTEXT_FN)(PCtxtHandle)
Definition: sspi.h:777
SECURITY_STATUS(SEC_ENTRY * FREE_CONTEXT_BUFFER_FN)(_Inout_ PVOID)
Definition: sspi.h:306
CHAR SEC_CHAR
Definition: sspi.h:30
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)
Definition: sspi.h:231
SECURITY_STATUS SEC_ENTRY RevertSecurityContext(_In_ PCtxtHandle phContext)
Definition: stubs.c:317
struct _SecPkgContext_AuthorityW SecPkgContext_AuthorityW
SECURITY_STATUS SEC_ENTRY DeleteSecurityContext(_In_ PCtxtHandle phContext)
Definition: stubs.c:89
SECURITY_STATUS(SEC_ENTRY * IMPERSONATE_SECURITY_CONTEXT_FN)(PCtxtHandle)
Definition: sspi.h:773
SECURITY_STATUS(SEC_ENTRY * FREE_CREDENTIALS_HANDLE_FN)(PCredHandle)
Definition: sspi.h:315
SecHandle CtxtHandle
Definition: sspi.h:70
struct _SecPkgContext_Sizes * PSecPkgContext_Sizes
struct _SecHandle * PSecHandle
struct _SecPkgContext_ProtoInfoW SecPkgContext_ProtoInfoW
_Check_return_ SECURITY_STATUS SEC_ENTRY ImpersonateSecurityContext(_In_ PCtxtHandle phContext)
Definition: stubs.c:178
SECURITY_STATUS SEC_ENTRY ApplyControlToken(_In_ PCtxtHandle phContext, _In_ PSecBufferDesc pInput)
Definition: stubs.c:72
SECURITY_STATUS SEC_ENTRY QuerySecurityContextToken(_In_ PCtxtHandle phContext, _Out_ HANDLE *phToken)
Definition: stubs.c:297
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)
Definition: sspi.h:189
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
SecHandle CredHandle
Definition: sspi.h:67
struct _SECURITY_FUNCTION_TABLE_W * PSecurityFunctionTableW
SECURITY_STATUS(SEC_ENTRY * QUERY_SECURITY_PACKAGE_INFO_FN_W)(SEC_WCHAR *, PSecPkgInfoW *)
Definition: sspi.h:818
struct _SecPkgContext_CredentialNameW SecPkgContext_CredentialNameW
SECURITY_STATUS(SEC_ENTRY * EXPORT_SECURITY_CONTEXT_FN)(PCtxtHandle, ULONG, PSecBuffer, void **)
Definition: sspi.h:829
PSecurityFunctionTableW(SEC_ENTRY * INIT_SECURITY_INTERFACE_W)(void)
Definition: sspi.h:1031
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)
Definition: sspi.h:356
SECURITY_STATUS SEC_ENTRY QueryContextAttributesW(_In_ PCtxtHandle phContext, _In_ ULONG ulAttribute, _Out_ void *pBuffer)
struct _SecPkgContext_NamesW SecPkgContext_NamesW
struct _SecPkgContext_UserFlags SecPkgContext_UserFlags
PSecHandle PCtxtHandle
Definition: sspi.h:71
struct _SecPkgContext_PasswordExpiry * PSecPkgContext_PasswordExpiry
struct _SecPkgContext_AuthorityW * PSecPkgContext_AuthorityW
struct _SECURITY_INTEGER * PSECURITY_INTEGER
struct _SecPkgContext_DceInfo SecPkgContext_DceInfo
PSecHandle PCredHandle
Definition: sspi.h:68
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)
Definition: sspi.h:889
struct _SecPkgContext_KeyInfoW * PSecPkgContext_KeyInfoW
WCHAR SEC_WCHAR
Definition: sspi.h:29
struct _SecPkgContext_NegotiationInfoW * PSecPkgContext_NegotiationInfoW
struct _SecPkgContext_StreamSizes * PSecPkgContext_StreamSizes
struct _SecPkgContext_Lifespan * PSecPkgContext_Lifespan
struct _SecBufferDesc * PSecBufferDesc
Definition: main.c:41
struct _SecPkgContext_DceInfo * PSecPkgContext_DceInfo
SECURITY_STATUS(SEC_ENTRY * DECRYPT_MESSAGE_FN)(PCtxtHandle, PSecBufferDesc, ULONG, PULONG)
Definition: sspi.h:923
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)
Definition: sspi.h:787
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)
Definition: sspi.h:495
SECURITY_INTEGER TimeStamp
Definition: sspi.h:78
PVOID pBuffer
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
ACCEPT_SECURITY_CONTEXT_FN AcceptSecurityContext
Definition: sspi.h:997
INITIALIZE_SECURITY_CONTEXT_FN_W InitializeSecurityContextW
Definition: sspi.h:996
DELETE_SECURITY_CONTEXT_FN DeleteSecurityContext
Definition: sspi.h:999
QUERY_SECURITY_CONTEXT_TOKEN_FN QuerySecurityContextToken
Definition: sspi.h:1014
ENCRYPT_MESSAGE_FN EncryptMessage
Definition: sspi.h:1015
VERIFY_SIGNATURE_FN VerifySignature
Definition: sspi.h:1005
EXPORT_SECURITY_CONTEXT_FN ExportSecurityContext
Definition: sspi.h:1010
QUERY_SECURITY_PACKAGE_INFO_FN_W QuerySecurityPackageInfoW
Definition: sspi.h:1007
ADD_CREDENTIALS_FN_W AddCredentialsW
Definition: sspi.h:1012
SET_CONTEXT_ATTRIBUTES_FN_W SetContextAttributesW
Definition: sspi.h:1017
ACQUIRE_CREDENTIALS_HANDLE_FN_W AcquireCredentialsHandleW
Definition: sspi.h:993
DECRYPT_MESSAGE_FN DecryptMessage
Definition: sspi.h:1016
FREE_CONTEXT_BUFFER_FN FreeContextBuffer
Definition: sspi.h:1006
ENUMERATE_SECURITY_PACKAGES_FN_W EnumerateSecurityPackagesW
Definition: sspi.h:991
COMPLETE_AUTH_TOKEN_FN CompleteAuthToken
Definition: sspi.h:998
FREE_CREDENTIALS_HANDLE_FN FreeCredentialsHandle
Definition: sspi.h:994
REVERT_SECURITY_CONTEXT_FN RevertSecurityContext
Definition: sspi.h:1003
IMPORT_SECURITY_CONTEXT_FN_W ImportSecurityContextW
Definition: sspi.h:1011
MAKE_SIGNATURE_FN MakeSignature
Definition: sspi.h:1004
APPLY_CONTROL_TOKEN_FN ApplyControlToken
Definition: sspi.h:1000
QUERY_CONTEXT_ATTRIBUTES_FN_W QueryContextAttributesW
Definition: sspi.h:1001
QUERY_CREDENTIALS_ATTRIBUTES_FN_W QueryCredentialsAttributesW
Definition: sspi.h:992
IMPERSONATE_SECURITY_CONTEXT_FN ImpersonateSecurityContext
Definition: sspi.h:1002
ULONG dwInitiatorAddrType
Definition: sspi.h:235
ULONG cbAcceptorLength
Definition: sspi.h:239
ULONG dwApplicationDataOffset
Definition: sspi.h:242
ULONG cbInitiatorLength
Definition: sspi.h:236
ULONG dwInitiatorOffset
Definition: sspi.h:237
ULONG cbApplicationDataLength
Definition: sspi.h:241
ULONG dwAcceptorAddrType
Definition: sspi.h:238
ULONG dwAcceptorOffset
Definition: sspi.h:240
SEC_WCHAR * Name
Definition: sspi.h:289
USHORT PackedCredentialsLength
Definition: sspi.h:317
ULONG cBuffers
Definition: sspi.h:182
ULONG ulVersion
Definition: sspi.h:181
MIDL_PROP([size_is(cBuffers)]) _Field_size_(cBuffers) PSecBuffer pBuffers
ULONG BufferType
Definition: sspi.h:154
ULONG cbBuffer
Definition: sspi.h:153
_Field_size_bytes_(cbBuffer) void SEC_FAR *pvBuffer
ULONG_PTR dwLower
Definition: sspi.h:53
ULONG_PTR dwUpper
Definition: sspi.h:54
SEC_WCHAR * sAuthorityName
Definition: sspi.h:629
SECPKG_CRED_CLASS CredClass
Definition: sspi.h:436
ULONG IsPromptingNeeded
Definition: sspi.h:437
SEC_WCHAR * sCredentialName
Definition: sspi.h:731
SEC_WCHAR * sEncryptAlgorithmName
Definition: sspi.h:613
ULONG SignatureAlgorithm
Definition: sspi.h:615
ULONG EncryptAlgorithm
Definition: sspi.h:616
SEC_WCHAR * sSignatureAlgorithmName
Definition: sspi.h:612
TimeStamp tsStart
Definition: sspi.h:591
TimeStamp tsExpiry
Definition: sspi.h:592
SEC_WCHAR * sUserName
Definition: sspi.h:583
_Field_size_bytes_(VerifyKeyLength) PUCHAR VerifyKeyValue
USHORT VerifyKeyLength
Definition: sspi.h:510
_Field_size_bytes_(KeyLength) PUCHAR KeyValue
PSecPkgInfoW PackageInfo
Definition: sspi.h:693
PSecPkgInfoW PackageInfo
Definition: sspi.h:669
TimeStamp tsPasswordExpires
Definition: sspi.h:654
SEC_WCHAR * sProtocolName
Definition: sspi.h:644
_Field_size_bytes_(SessionKeyLength) PUCHAR SessionKey
ULONG cbBlockSize
Definition: sspi.h:563
ULONG cbSecurityTrailer
Definition: sspi.h:564
ULONG cbMaxSignature
Definition: sspi.h:562
ULONG cbMaxToken
Definition: sspi.h:561
SEC_WCHAR * sUserName
Definition: sspi.h:256
MIDL_PROP([string]) SEC_WCHAR *sUserName
ULONG cbMaxToken
Definition: sspi.h:117
MIDL_PROP([string]) SEC_WCHAR *Name
SEC_WCHAR * Comment
Definition: sspi.h:119
USHORT wRPCID
Definition: sspi.h:397
ULONG fCapabilities
Definition: sspi.h:114
MIDL_PROP([string]) SEC_WCHAR *Comment
SEC_WCHAR * Name
Definition: sspi.h:118
USHORT wVersion
Definition: sspi.h:396
uint16_t * PWSTR
Definition: typedefs.h:56
uint32_t * PULONG
Definition: typedefs.h:59
const uint16_t * PCWSTR
Definition: typedefs.h:57
unsigned char * PBOOLEAN
Definition: typedefs.h:53
#define NTAPI
Definition: typedefs.h:36
void * PVOID
Definition: typedefs.h:50
uint16_t * PUSHORT
Definition: typedefs.h:56
uint32_t ULONG_PTR
Definition: typedefs.h:65
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
char * PCHAR
Definition: typedefs.h:51
_In_opt_ PALLOCATE_FUNCTION Allocate
Definition: exfuncs.h:814
WELL_KNOWN_SID_TYPE
Definition: setypes.h:455
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 *)
Definition: sspi.h:831
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)
Definition: stubs.c:373
SECURITY_STATUS(SEC_ENTRY * IMPORT_SECURITY_CONTEXT_FN_W)(PSSPI_SEC_STRING, PSecBuffer, PVOID, PCtxtHandle)
Definition: sspi.h:897
SECURITY_STATUS(SEC_ENTRY * COMPLETE_AUTH_TOKEN_FN)(PCtxtHandle, PSecBufferDesc)
Definition: sspi.h:774
SECURITY_STATUS(SEC_ENTRY * ACCEPT_SECURITY_CONTEXT_FN)(PCredHandle, PCtxtHandle, PSecBufferDesc, ULONG, ULONG, PCtxtHandle, PSecBufferDesc, PULONG, PTimeStamp)
Definition: sspi.h:597
#define MIDL_PROP(x)
Definition: sspi.h:11
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)
Definition: sspi.h:802
SECURITY_STATUS(SEC_ENTRY * VERIFY_SIGNATURE_FN)(PCtxtHandle, PSecBufferDesc, ULONG, PULONG)
Definition: sspi.h:1091
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)
Definition: sspi.h:815
#define PSSPI_SEC_STRING
Definition: sspi.h:264
#define KSECDDDECLSPEC
Definition: sspi.h:21
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)
Definition: stubs.c:333
SECURITY_STATUS(SEC_ENTRY * EXPORT_SECURITY_CONTEXT_FN)(PCtxtHandle, ULONG, PSecBuffer, PVOID *)
Definition: sspi.h:847
struct _SecPkgContext_SubjectAttributes SecPkgContext_SubjectAttributes
SECURITY_STATUS(SEC_ENTRY * QUERY_CONTEXT_ATTRIBUTES_FN_W)(PCtxtHandle, ULONG, PVOID)
Definition: sspi.h:978
SECURITY_STATUS(SEC_ENTRY * REVERT_SECURITY_CONTEXT_FN)(PCtxtHandle)
Definition: sspi.h:1036
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)
Definition: sspi.h:860
SECURITY_STATUS(SEC_ENTRY * QUERY_CREDENTIALS_ATTRIBUTES_FN_W)(PCredHandle, ULONG, PVOID)
Definition: sspi.h:995
enum _SECPKG_CRED_CLASS * PSECPKG_CRED_CLASS
SECURITY_STATUS(SEC_ENTRY * IMPERSONATE_SECURITY_CONTEXT_FN)(PCtxtHandle)
Definition: sspi.h:882
SECURITY_STATUS(SEC_ENTRY * FREE_CREDENTIALS_HANDLE_FN)(PCredHandle)
Definition: sspi.h:871
struct _SecPkgContext_NegoPackageInfo * PSecPkgContext_NegoPackageInfo
SECURITY_STATUS SEC_ENTRY SspiGetTargetHostName(_In_ PCWSTR pszTargetName, _Outptr_ PWSTR *pszHostName)
#define SEC_FAR
Definition: sspi.h:15
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)
Definition: sspi.h:924
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)
Definition: sspi.h:625
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)
Definition: stubs.c:361
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)
Definition: stubs.c:347
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 *)
Definition: sspi.h:1010
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)
WCHAR SEC_WCHAR
Definition: sspi.h:258
SECURITY_STATUS(SEC_ENTRY * QUERY_SECURITY_PACKAGE_INFO_FN_W)(PSSPI_SEC_STRING, PSecPkgInfoW *)
Definition: sspi.h:1023
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)
Definition: sspi.h:788
_SECPKG_CRED_CLASS
Definition: sspi.h:277
@ SecPkgCredClass_PersistedSpecific
Definition: sspi.h:281
@ SecPkgCredClass_Explicit
Definition: sspi.h:282
@ SecPkgCredClass_PersistedGeneric
Definition: sspi.h:280
@ SecPkgCredClass_None
Definition: sspi.h:278
@ SecPkgCredClass_Ephemeral
Definition: sspi.h:279
SECURITY_STATUS(SEC_ENTRY * MAKE_SIGNATURE_FN)(PCtxtHandle, ULONG, PSecBufferDesc, ULONG)
Definition: sspi.h:961
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)
Definition: sspi.h:676
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
Definition: sspi.h:260
SECURITY_STATUS(SEC_ENTRY * APPLY_CONTROL_TOKEN_FN)(PCtxtHandle, PSecBufferDesc)
Definition: sspi.h:703
char * LPSTR
Definition: xmlstorage.h:182
__wchar_t WCHAR
Definition: xmlstorage.h:180
char CHAR
Definition: xmlstorage.h:175