ReactOS  0.4.13-dev-99-g7e18b6d
ntsecpkg.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2007 Yuval Fledel
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 
19 #ifndef _NTSECPKG_H
20 #define _NTSECPKG_H
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 /* Flags for the MachineState field in SECPKG_PARAMETERS */
27 #define SECPKG_STATE_ENCRYPTION_PERMITTED 0x01
28 #define SECPKG_STATE_STRONG_ENCRYPTION_PERMITTED 0x02
29 #define SECPKG_STATE_DOMAIN_CONTROLLER 0x04
30 #define SECPKG_STATE_WORKSTATION 0x08
31 #define SECPKG_STATE_STANDALONE 0x10
32 
33 /* Version magics as passed to or returned from Sp[Lsa,Mode]ModeInitialize */
34 #define SECPKG_INTERFACE_VERSION 0x10000
35 #define SECPKG_INTERFACE_VERSION_2 0x20000
36 #define SECPKG_INTERFACE_VERSION_3 0x40000
37 #define SECPKG_INTERFACE_VERSION_4 0x80000
38 #define SECPKG_INTERFACE_VERSION_5 0x100000
39 #define SECPKG_INTERFACE_VERSION_6 0x200000
40 #define SECPKG_INTERFACE_VERSION_7 0x400000
41 
42 /* enum definitions for Secure Service Provider/Authentication Packages */
48 
50 {
56 
57 typedef enum _SECPKG_NAME_TYPE {
63 
64 /* struct definitions for SSP/AP */
65 typedef struct _LSA_TOKEN_INFORMATION_NULL
66 {
70 
71 typedef struct _LSA_TOKEN_INFORMATION_V1
72 {
81 
83 
84 typedef struct _SECPKG_PRIMARY_CRED {
100 
106 
111 
112 typedef struct _SECPKG_PARAMETERS {
122 
123 typedef struct _SECPKG_CLIENT_INFO {
132 
133 typedef struct _SECURITY_USER_DATA {
140 
141 typedef struct _SECPKG_GSS_INFO {
145 
146 typedef struct _SECPKG_CONTEXT_THUNKS {
150 
154 
155 typedef struct _SECPKG_CALL_INFO {
161 
164  union {
168  } Info;
170 
171 typedef struct _SECPKG_TARGETINFO {
175 
181 
182 /* callbacks implemented by SSP/AP dlls and called by the LSA */
184  PSecBuffer);
185 
186 /* misc typedefs used in the below prototypes */
191 
192 /* functions used by SSP/AP obtainable by dispatch tables */
197  PLSA_STRING);
204  ULONG, PVOID*);
207  PVOID, PVOID);
209  ULONG, PVOID, PVOID);
214  PVOID, BOOLEAN);
216  PVOID, ULONG, PULONG);
230  PVOID*, PULONG, PNTSTATUS);
241  PVOID *, PULONG);
254  PULONG);
259 
260 /* Dispatch tables of functions used by SSP/AP */
261 typedef struct _SECPKG_DLL_FUNCTIONS {
267 
268 typedef struct _LSA_DISPATCH_TABLE {
282 
327 
328 /* LSA-mode functions implemented by SSP/AP obtainable by a dispatch table */
332  DWORD, DWORD, PHANDLE);
334  PVOID *, PULONG, PNTSTATUS);
343  PUNICODE_STRING *);
350 typedef NTSTATUS (NTAPI SpShutDownFn)(void);
351 typedef NTSTATUS (NTAPI SpGetInfoFn)(PSecPkgInfoW);
352 typedef NTSTATUS (NTAPI SpAcceptCredentialsFn)(SECURITY_LOGON_TYPE,
354 typedef NTSTATUS (NTAPI SpAcquireCredentialsHandleFn)(PUNICODE_STRING, ULONG,
356 typedef NTSTATUS (NTAPI SpQueryCredentialsAttributesFn)(LSA_SEC_HANDLE, ULONG,
357  PVOID);
358 typedef NTSTATUS (NTAPI SpFreeCredentialsHandleFn)(LSA_SEC_HANDLE);
359 typedef NTSTATUS (NTAPI SpSaveCredentialsFn)(LSA_SEC_HANDLE, PSecBuffer);
360 typedef NTSTATUS (NTAPI SpGetCredentialsFn)(LSA_SEC_HANDLE, PSecBuffer);
361 typedef NTSTATUS (NTAPI SpDeleteCredentialsFn)(LSA_SEC_HANDLE, PSecBuffer);
362 typedef NTSTATUS (NTAPI SpInitLsaModeContextFn)(LSA_SEC_HANDLE, LSA_SEC_HANDLE,
365 typedef NTSTATUS (NTAPI SpAcceptLsaModeContextFn)(LSA_SEC_HANDLE,
368 typedef NTSTATUS (NTAPI SpDeleteContextFn)(LSA_SEC_HANDLE);
369 typedef NTSTATUS (NTAPI SpApplyControlTokenFn)(LSA_SEC_HANDLE, PSecBufferDesc);
370 typedef NTSTATUS (NTAPI SpGetUserInfoFn)(PLUID, ULONG, PSecurityUserData *);
371 typedef NTSTATUS (NTAPI SpGetExtendedInformationFn)(
373 typedef NTSTATUS (NTAPI SpQueryContextAttributesFn)(LSA_SEC_HANDLE, ULONG,
374  PVOID);
375 typedef NTSTATUS (NTAPI SpAddCredentialsFn)(LSA_SEC_HANDLE, PUNICODE_STRING,
377 typedef NTSTATUS (NTAPI SpSetExtendedInformationFn)(
379 typedef NTSTATUS (NTAPI SpSetContextAttributesFn)(LSA_SEC_HANDLE, ULONG, PVOID,
380  ULONG);
381 typedef NTSTATUS (NTAPI SpSetCredentialsAttributesFn)(LSA_SEC_HANDLE, ULONG,
382  PVOID, ULONG);
383 typedef NTSTATUS (NTAPI SpChangeAccountPasswordFn)(PUNICODE_STRING,
385 typedef NTSTATUS (NTAPI SpQueryMetaDataFn)(LSA_SEC_HANDLE, PUNICODE_STRING,
387 typedef NTSTATUS (NTAPI SpExchangeMetaDataFn)(LSA_SEC_HANDLE, PUNICODE_STRING,
389 typedef NTSTATUS (NTAPI SpGetCredUIContextFn)(LSA_SEC_HANDLE, GUID *, PULONG,
390  PUCHAR *);
391 typedef NTSTATUS (NTAPI SpUpdateCredentialsFn)(LSA_SEC_HANDLE, GUID *, ULONG,
392  PUCHAR);
393 typedef NTSTATUS (NTAPI SpValidateTargetInfoFn)(PLSA_CLIENT_REQUEST, PVOID,
395 typedef NTSTATUS (NTAPI LSA_AP_POST_LOGON_USER)(PSECPKG_POST_LOGON_USER_INFO);
396 
397 /* User-mode functions implemented by SSP/AP obtainable by a dispatch table */
398 typedef NTSTATUS (NTAPI SpInstanceInitFn)(ULONG, PSECPKG_DLL_FUNCTIONS,
399  PVOID *);
400 typedef NTSTATUS (NTAPI SpInitUserModeContextFn)(LSA_SEC_HANDLE, PSecBuffer);
401 typedef NTSTATUS (NTAPI SpMakeSignatureFn)(LSA_SEC_HANDLE, ULONG,
403 typedef NTSTATUS (NTAPI SpVerifySignatureFn)(LSA_SEC_HANDLE, PSecBufferDesc,
404  ULONG, PULONG);
405 typedef NTSTATUS (NTAPI SpSealMessageFn)(LSA_SEC_HANDLE, ULONG, PSecBufferDesc,
406  ULONG);
407 typedef NTSTATUS (NTAPI SpUnsealMessageFn)(LSA_SEC_HANDLE, PSecBufferDesc,
408  ULONG, PULONG);
409 typedef NTSTATUS (NTAPI SpGetContextTokenFn)(LSA_SEC_HANDLE, PHANDLE);
410 typedef NTSTATUS (NTAPI SpCompleteAuthTokenFn)(LSA_SEC_HANDLE, PSecBufferDesc);
411 typedef NTSTATUS (NTAPI SpFormatCredentialsFn)(PSecBuffer, PSecBuffer);
412 typedef NTSTATUS (NTAPI SpMarshallSupplementalCredsFn)(ULONG, PUCHAR, PULONG,
413  PVOID *);
414 typedef NTSTATUS (NTAPI SpExportSecurityContextFn)(LSA_SEC_HANDLE, ULONG,
416 typedef NTSTATUS (NTAPI SpImportSecurityContextFn)(PSecBuffer, HANDLE,
418 
419 #ifdef WINE_NO_UNICODE_MACROS
420 #undef SetContextAttributes
421 #endif
422 
423 /* dispatch tables of LSA-mode functions implemented by SSP/AP */
424 typedef struct _SECPKG_FUNCTION_TABLE {
434  SpShutDownFn *Shutdown;
435  SpGetInfoFn *GetInfo;
436  SpAcceptCredentialsFn *AcceptCredentials;
437  SpAcquireCredentialsHandleFn *SpAcquireCredentialsHandle;
438  SpQueryCredentialsAttributesFn *SpQueryCredentialsAttributes;
439  SpFreeCredentialsHandleFn *FreeCredentialsHandle;
440  SpSaveCredentialsFn *SaveCredentials;
441  SpGetCredentialsFn *GetCredentials;
442  SpDeleteCredentialsFn *DeleteCredentials;
443  SpInitLsaModeContextFn *InitLsaModeContext;
444  SpAcceptLsaModeContextFn *AcceptLsaModeContext;
445  SpDeleteContextFn *DeleteContext;
446  SpApplyControlTokenFn *ApplyControlToken;
447  SpGetUserInfoFn *GetUserInfo;
448  SpGetExtendedInformationFn *GetExtendedInformation;
449  SpQueryContextAttributesFn *SpQueryContextAttributes;
450  SpAddCredentialsFn *SpAddCredentials;
451  SpSetExtendedInformationFn *SetExtendedInformation;
452  /* Packages with version SECPKG_INTERFACE_VERSION end here */
453  SpSetContextAttributesFn *SetContextAttributes;
454  /* Packages with version SECPKG_INTERFACE_VERSION_2 end here */
455  SpSetCredentialsAttributesFn *SetCredentialsAttributes;
456  /* Packages with version SECPKG_INTERFACE_VERSION_3 end here */
457  SpChangeAccountPasswordFn *ChangeAccountPassword;
458  /* Packages with version SECPKG_INTERFACE_VERSION_4 end here */
459  SpQueryMetaDataFn *QueryMetaData;
460  SpExchangeMetaDataFn *ExchangeMetaData;
461  SpGetCredUIContextFn *GetCredUIContext;
462  SpUpdateCredentialsFn *UpdateCredentials;
463  /* Packages with version SECPKG_INTERFACE_VERSION_5 end here */
464  SpValidateTargetInfoFn *ValidateTargetInfo;
465  /* Packages with version SECPKG_INTERFACE_VERSION_6 end here */
466  LSA_AP_POST_LOGON_USER* PostLogonUser;
467  /* Packages with version SECPKG_INTERFACE_VERSION_7 end here */
470 
471 /* dispatch tables of user-mode functions implemented by SSP/AP */
473  SpInstanceInitFn *InstanceInit;
474  SpInitUserModeContextFn *InitUserModeContext;
475  SpMakeSignatureFn *MakeSignature;
476  SpVerifySignatureFn *VerifySignature;
477  SpSealMessageFn *SealMessage;
478  SpUnsealMessageFn *UnsealMessage;
479  SpGetContextTokenFn *GetContextToken;
480  SpQueryContextAttributesFn *SpQueryContextAttributes;
481  SpCompleteAuthTokenFn *CompleteAuthToken;
482  SpDeleteContextFn *DeleteUserModeContext;
483  SpFormatCredentialsFn *FormatCredentials;
484  SpMarshallSupplementalCredsFn *MarshallSupplementalCreds;
485  SpExportSecurityContextFn *ExportContext;
486  SpImportSecurityContextFn *ImportContext;
489 
490 /* LSA-mode entry point to SSP/APs */
493 
494 /* User-mode entry point to SSP/APs */
497 
498 #ifdef __cplusplus
499 }
500 #endif
501 #endif /* _NTSECPKG_H */
LARGE_INTEGER ExpirationTime
Definition: authpackage.c:22
HANDLE(NTAPI * PLSA_REGISTER_NOTIFICATION)(SEC_THREAD_START, PVOID, ULONG, ULONG, ULONG, ULONG, HANDLE)
Definition: ntsecpkg.h:218
struct _SECPKG_GSS_INFO * PSECPKG_GSS_INFO
NTSTATUS(NTAPI * PLSA_ALLOCATE_CLIENT_BUFFER)(PLSA_CLIENT_REQUEST, ULONG, PVOID *)
Definition: ntsecpkg.h:203
struct _LSA_TOKEN_INFORMATION_V1 LSA_TOKEN_INFORMATION_V1
PVOID * PLSA_CLIENT_REQUEST
Definition: ntsecpkg.h:187
* PNTSTATUS
Definition: strlen.c:14
BOOLEAN Impersonating
Definition: ntsecpkg.h:128
SpQueryCredentialsAttributesFn * SpQueryCredentialsAttributes
Definition: ntsecpkg.h:438
struct _SECPKG_SUPPLEMENTAL_CRED SECPKG_SUPPLEMENTAL_CRED
const uint16_t * PCWSTR
Definition: typedefs.h:55
UCHAR EncodedId[4]
Definition: ntsecpkg.h:143
LARGE_INTEGER ExpirationTime
Definition: authpackage.c:28
SpSetContextAttributesFn * SetContextAttributes
Definition: ntsecpkg.h:453
NTSTATUS(NTAPI * PLSA_IMPERSONATE_CLIENT)(void)
Definition: ntsecpkg.h:210
DWORD(WINAPI * LPTHREAD_START_ROUTINE)(LPVOID)
Definition: winbase.h:707
PLSA_CALL_PACKAGE_PASSTHROUGH CallPackagePassthrough
Definition: ntsecpkg.h:324
UNICODE_STRING LogonServer
Definition: ntsecpkg.h:136
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
PLSA_CONVERT_AUTH_DATA_TO_TOKEN ConvertAuthDataToToken
Definition: ntsecpkg.h:318
PLSA_SAVE_SUPPLEMENTAL_CREDENTIALS SaveSupplementalCredentials
Definition: ntsecpkg.h:298
VOID(NTAPI * PLSA_AP_LOGON_TERMINATED)(PLUID)
Definition: ntsecpkg.h:335
NTSTATUS(NTAPI * PLSA_UNLOAD_PACKAGE)(void)
Definition: ntsecpkg.h:211
PLSA_UPDATE_PRIMARY_CREDENTIALS UpdateCredentials
Definition: ntsecpkg.h:320
typedef PBOOLEAN
Definition: ntsecpkg.h:362
NTSTATUS(WINAPI * SpUserModeInitializeFn)(ULONG, PULONG, PSECPKG_USER_FUNCTION_TABLE *, PULONG)
Definition: ntsecpkg.h:495
struct _SECPKG_POST_LOGON_USER_INFO * PSECPKG_POST_LOGON_USER_INFO
_LSA_TOKEN_INFORMATION_TYPE
Definition: authpackage.c:14
NTSTATUS(NTAPI * PLSA_GET_CREDENTIALS)(PLUID, ULONG, PULONG, BOOLEAN, PLSA_STRING, PULONG, PLSA_STRING)
Definition: ntsecpkg.h:198
NTSTATUS(NTAPI * PLSA_AUDIT_ACCOUNT_LOGON)(ULONG, BOOLEAN, PUNICODE_STRING, PUNICODE_STRING, PUNICODE_STRING, NTSTATUS)
Definition: ntsecpkg.h:255
struct _SECPKG_CONTEXT_THUNKS SECPKG_CONTEXT_THUNKS
UNICODE_STRING LogonDomainName
Definition: ntsecpkg.h:135
unsigned char * PUCHAR
Definition: retypes.h:3
PLSA_AP_LOGON_USER LsaLogonUser
Definition: ntsecpkg.h:426
PCWSTR ComputerName
Definition: ntsecpkg.h:173
struct _SECPKG_CLIENT_INFO * PSECPKG_CLIENT_INFO
PLSA_CLIENT_CALLBACK ClientCallback
Definition: ntsecpkg.h:319
VOID(NTAPI * PLSA_FREE_LSA_HEAP)(PVOID)
Definition: ntsecpkg.h:202
NTSTATUS(NTAPI * SpLsaModeInitializeFn)(ULONG, PULONG, PSECPKG_FUNCTION_TABLE *, PULONG)
Definition: ntsecpkg.h:491
PLSA_DELETE_LOGON_SESSION DeleteLogonSession
Definition: ntsecpkg.h:285
NTSTATUS(NTAPI * PLSA_CALL_PACKAGEEX)(PUNICODE_STRING, PVOID, PVOID, ULONG, PVOID *, PULONG, PNTSTATUS)
Definition: ntsecpkg.h:232
SpDeleteContextFn * DeleteUserModeContext
Definition: ntsecpkg.h:482
PLSA_CRACK_SINGLE_NAME CrackSingleName
Definition: ntsecpkg.h:322
_SECPKG_NAME_TYPE
Definition: ntsecpkg.h:57
struct _SECPKG_CALL_INFO * PSECPKG_CALL_INFO
struct _SECPKG_CLIENT_INFO SECPKG_CLIENT_INFO
PLSA_COPY_TO_CLIENT_BUFFER CopyToClientBuffer
Definition: ntsecpkg.h:278
PLSA_DELETE_CREDENTIAL DeleteCredential
Definition: ntsecpkg.h:288
UNICODE_STRING UserName
Definition: ntsecpkg.h:134
SpCompleteAuthTokenFn * CompleteAuthToken
Definition: ntsecpkg.h:481
SpFreeCredentialsHandleFn * FreeCredentialsHandle
Definition: ntsecpkg.h:439
NTSTATUS(NTAPI * PLSA_CRACK_SINGLE_NAME)(ULONG, BOOLEAN, PUNICODE_STRING, PUNICODE_STRING, ULONG, PUNICODE_STRING, PUNICODE_STRING, PULONG)
Definition: ntsecpkg.h:252
PSecurityUserData *typedef PSECPKG_EXTENDED_INFORMATION *typedef ULONG
Definition: ntsecpkg.h:373
struct _LSA_SECPKG_FUNCTION_TABLE LSA_SECPKG_FUNCTION_TABLE
PLSA_GET_CREDENTIALS GetCredentials
Definition: ntsecpkg.h:287
PLSA_DUPLICATE_HANDLE DuplicateHandle
Definition: ntsecpkg.h:297
NTSTATUS(NTAPI * PLSA_REGISTER_CALLBACK)(ULONG, PLSA_CALLBACK_FUNCTION)
Definition: ntsecpkg.h:193
UNICODE_STRING DnsDomainName
Definition: ntsecpkg.h:92
NTSTATUS() SpInitializeFn(ULONG_PTR, PSECPKG_PARAMETERS, PLSA_SECPKG_FUNCTION_TABLE)
Definition: ntsecpkg.h:348
struct _SECPKG_DLL_FUNCTIONS SECPKG_DLL_FUNCTIONS
struct _SECPKG_SUPPLEMENTAL_CRED_ARRAY * PSECPKG_SUPPLEMENTAL_CRED_ARRAY
enum _SECPKG_NAME_TYPE SECPKG_NAME_TYPE
struct _SECPKG_TARGETINFO * PSECPKG_TARGETINFO
Definition: ntsecpkg.h:393
NTSTATUS(NTAPI * PLSA_AP_LOGON_USER_EX)(PLSA_CLIENT_REQUEST, SECURITY_LOGON_TYPE, PVOID, PVOID, ULONG, PVOID *, PULONG, PLUID, PNTSTATUS, PLSA_TOKEN_INFORMATION_TYPE, PVOID *, PUNICODE_STRING *, PUNICODE_STRING *, PUNICODE_STRING *)
Definition: ntsecpkg.h:340
SpExportSecurityContextFn * ExportContext
Definition: ntsecpkg.h:485
SpFormatCredentialsFn * FormatCredentials
Definition: ntsecpkg.h:483
UNICODE_STRING Spare4
Definition: ntsecpkg.h:98
struct _SECPKG_PARAMETERS * PSECPKG_EVENT_DOMAIN_CHANGE
VOID(NTAPI * PLSA_AUDIT_LOGON)(NTSTATUS, NTSTATUS, PUNICODE_STRING, PUNICODE_STRING, PUNICODE_STRING, OPTIONAL PSID, SECURITY_LOGON_TYPE, PTOKEN_SOURCE, PLUID)
Definition: ntsecpkg.h:226
SpAcceptLsaModeContextFn * AcceptLsaModeContext
Definition: ntsecpkg.h:444
SpUpdateCredentialsFn * UpdateCredentials
Definition: ntsecpkg.h:462
enum _LSA_TOKEN_INFORMATION_TYPE * PLSA_TOKEN_INFORMATION_TYPE
VOID(NTAPI * PLSA_CALLBACK_FUNCTION)(ULONG_PTR, ULONG_PTR, PSecBuffer, PSecBuffer)
Definition: ntsecpkg.h:183
struct _LSA_TOKEN_INFORMATION_NULL * PLSA_TOKEN_INFORMATION_NULL
#define DWORD
Definition: nt_native.h:44
UNICODE_STRING OldPassword
Definition: ntsecpkg.h:89
PLSA_GET_CALL_INFO GetCallInfo
Definition: ntsecpkg.h:308
PLSA_AP_CALL_PACKAGE_UNTRUSTED CallPackageUntrusted
Definition: ntsecpkg.h:429
NTSTATUS(NTAPI * PLSA_AP_CALL_PACKAGE_UNTRUSTED)(PLSA_CLIENT_REQUEST, PVOID, PVOID, ULONG, PVOID *, PULONG, PNTSTATUS)
Definition: ntsecpkg.h:336
struct _SECPKG_CONTEXT_THUNKS * PSECPKG_CONTEXT_THUNKS
struct _SECPKG_POST_LOGON_USER_INFO SECPKG_POST_LOGON_USER_INFO
SpInitUserModeContextFn * InitUserModeContext
Definition: ntsecpkg.h:474
ULONG Flags
Definition: ntsecpkg.h:177
PLSA_FREE_LSA_HEAP FreeLsaHeap
Definition: ntsecpkg.h:275
struct _SECPKG_PARAMETERS SECPKG_EVENT_DOMAIN_CHANGE
struct _SECPKG_EXTENDED_INFORMATION SECPKG_EXTENDED_INFORMATION
HANDLE(NTAPI * PLSA_CREATE_THREAD)(SEC_ATTRS, ULONG, SEC_THREAD_START, PVOID, ULONG, PULONG)
Definition: ntsecpkg.h:215
struct _SECURITY_USER_DATA SecurityUserData
struct _LSA_DISPATCH_TABLE * PLSA_DISPATCH_TABLE
UNICODE_STRING DownlevelName
Definition: ntsecpkg.h:86
struct _SECPKG_EXTENDED_INFORMATION * PSECPKG_EXTENDED_INFORMATION
Definition: ntsecpkg.h:378
NTSTATUS(NTAPI * PLSA_GET_USER_AUTH_DATA)(PVOID, PUCHAR *, PULONG)
Definition: ntsecpkg.h:242
PLSA_GET_USER_CREDENTIALS GetUserCredentials
Definition: ntsecpkg.h:315
typedef PUNICODE_STRING
Definition: ntsecpkg.h:353
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
struct _SECPKG_PRIMARY_CRED SECPKG_PRIMARY_CRED
PVOID(NTAPI * PLSA_ALLOCATE_SHARED_MEMORY)(PVOID, ULONG)
Definition: ntsecpkg.h:235
struct _SECPKG_TARGETINFO SECPKG_TARGETINFO
SpQueryContextAttributesFn * SpQueryContextAttributes
Definition: ntsecpkg.h:449
NTSTATUS(NTAPI * PLSA_CONVERT_AUTH_DATA_TO_TOKEN)(PVOID, ULONG, SECURITY_IMPERSONATION_LEVEL, PTOKEN_SOURCE, SECURITY_LOGON_TYPE, PUNICODE_STRING, PHANDLE, PLUID, PUNICODE_STRING, PNTSTATUS)
Definition: ntsecpkg.h:244
typedef HANDLE
Definition: ntsecpkg.h:416
PLSA_GET_CLIENT_INFO GetClientInfo
Definition: ntsecpkg.h:300
SpChangeAccountPasswordFn * ChangeAccountPassword
Definition: ntsecpkg.h:457
SpSealMessageFn * SealMessage
Definition: ntsecpkg.h:477
enum _SECURITY_IMPERSONATION_LEVEL SECURITY_IMPERSONATION_LEVEL
struct _LSA_SECPKG_FUNCTION_TABLE * PLSA_SECPKG_FUNCTION_TABLE
SpExchangeMetaDataFn * ExchangeMetaData
Definition: ntsecpkg.h:460
SpVerifySignatureFn * VerifySignature
Definition: ntsecpkg.h:476
PLSA_OPEN_SAM_USER OpenSamUser
Definition: ntsecpkg.h:314
struct _LSA_DISPATCH_TABLE LSA_DISPATCH_TABLE
PLSA_CALL_PACKAGEEX CallPackageEx
Definition: ntsecpkg.h:309
LPTHREAD_START_ROUTINE SEC_THREAD_START
Definition: ntsecpkg.h:189
PLSA_AP_CALL_PACKAGE CallPackage
Definition: ntsecpkg.h:427
PLSA_ADD_CREDENTIAL AddCredential
Definition: ntsecpkg.h:271
SECPKG_CONTEXT_THUNKS ContextThunks
Definition: ntsecpkg.h:166
SpImportSecurityContextFn * ImportContext
Definition: ntsecpkg.h:486
typedef PSecBufferDesc
Definition: ntsecpkg.h:362
unsigned char BOOLEAN
UNICODE_STRING DomainName
Definition: ntsecpkg.h:87
PLSA_CREATE_LOGON_SESSION CreateLogonSession
Definition: ntsecpkg.h:269
struct _LSA_TOKEN_INFORMATION_V1 * PLSA_TOKEN_INFORMATION_V1
SpMarshallSupplementalCredsFn * MarshallSupplementalCreds
Definition: ntsecpkg.h:484
SpGetContextTokenFn * GetContextToken
Definition: ntsecpkg.h:479
BOOLEAN HasTcbPrivilege
Definition: ntsecpkg.h:127
NTSTATUS(NTAPI * PLSA_DELETE_CREDENTIAL)(PLUID, ULONG, PLSA_STRING)
Definition: ntsecpkg.h:200
PLSA_FREE_LSA_HEAP FreeReturnBuffer
Definition: ntsecpkg.h:307
PLSA_ALLOCATE_CLIENT_BUFFER AllocateClientBuffer
Definition: ntsecpkg.h:276
NTSTATUS(NTAPI * PLSA_FREE_CLIENT_BUFFER)(PLSA_CLIENT_REQUEST, PVOID)
Definition: ntsecpkg.h:205
SpAcceptCredentialsFn * AcceptCredentials
Definition: ntsecpkg.h:436
LSA_TOKEN_INFORMATION_V1 * PLSA_TOKEN_INFORMATION_V2
Definition: ntsecpkg.h:82
SECPKG_GSS_INFO GssInfo
Definition: ntsecpkg.h:165
struct _TOKEN_GROUPS * PTOKEN_GROUPS
UNICODE_STRING Upn
Definition: ntsecpkg.h:93
NTSTATUS(NTAPI * PLSA_AP_CALL_PACKAGE)(PUNICODE_STRING, PVOID, ULONG, PVOID *, PULONG, PNTSTATUS)
Definition: ntsecpkg.h:333
struct _LSA_TOKEN_INFORMATION_NULL LSA_TOKEN_INFORMATION_NULL
PLSA_AP_INITIALIZE_PACKAGE InitializePackage
Definition: ntsecpkg.h:425
NTSTATUS(NTAPI * PLSA_DELETE_LOGON_SESSION)(PLUID)
Definition: ntsecpkg.h:195
PLSA_CREATE_THREAD CreateThread
Definition: ntsecpkg.h:299
SpValidateTargetInfoFn * ValidateTargetInfo
Definition: ntsecpkg.h:464
NTSTATUS(NTAPI * PLSA_UPDATE_PRIMARY_CREDENTIALS)(PSECPKG_PRIMARY_CRED, PSECPKG_SUPPLEMENTAL_CRED_ARRAY)
Definition: ntsecpkg.h:249
#define PCHAR
Definition: match.c:90
PLSA_IMPERSONATE_CLIENT ImpersonateClient
Definition: ntsecpkg.h:295
UNICODE_STRING PackageName
Definition: ntsecpkg.h:102
PSECURITY_ATTRIBUTES SEC_ATTRS
Definition: ntsecpkg.h:190
NTSTATUS(NTAPI * PLSA_ADD_CREDENTIAL)(PLUID, ULONG, PLSA_STRING, PLSA_STRING)
Definition: ntsecpkg.h:196
PLSA_UNLOAD_PACKAGE UnloadPackage
Definition: ntsecpkg.h:296
NTSTATUS(NTAPI * PLSA_DUPLICATE_HANDLE)(HANDLE, PHANDLE)
Definition: ntsecpkg.h:212
TOKEN_PRIMARY_GROUP PrimaryGroup
Definition: authpackage.c:31
struct _SECPKG_SUPPLEMENTAL_CRED * PSECPKG_SUPPLEMENTAL_CRED
Definition: ntsecpkg.h:353
PLSA_AUDIT_LOGON AuditLogon
Definition: ntsecpkg.h:305
PLSA_AP_LOGON_USER_EX2 LogonUserEx2
Definition: ntsecpkg.h:432
NTSTATUS(NTAPI * PLSA_GET_AUTH_DATA_FOR_USER)(PUNICODE_STRING, SECPKG_NAME_TYPE, PUNICODE_STRING, PUCHAR *, PULONG, PUNICODE_STRING)
Definition: ntsecpkg.h:250
struct _TOKEN_SOURCE * PTOKEN_SOURCE
enum _SECPKG_EXTENDED_INFORMATION_CLASS SECPKG_EXTENDED_INFORMATION_CLASS
PLSA_REGISTER_CALLBACK RegisterCallback
Definition: ntsecpkg.h:264
PLSA_ALLOCATE_SHARED_MEMORY AllocateSharedMemory
Definition: ntsecpkg.h:311
PVOID *typedef PSecBuffer
Definition: ntsecpkg.h:400
PLSA_FREE_CLIENT_BUFFER FreeClientBuffer
Definition: ntsecpkg.h:292
#define WINAPI
Definition: msvc.h:8
BOOLEAN(NTAPI * PLSA_DELETE_SHARED_MEMORY)(PVOID)
Definition: ntsecpkg.h:237
PLSA_AP_CALL_PACKAGE_PASSTHROUGH CallPackagePassthrough
Definition: ntsecpkg.h:430
NTSTATUS(NTAPI * PLSA_CREATE_LOGON_SESSION)(PLUID)
Definition: ntsecpkg.h:194
SpDeleteContextFn * DeleteContext
Definition: ntsecpkg.h:445
NTSTATUS(NTAPI * PLSA_CALL_PACKAGE)(PUNICODE_STRING, PVOID, ULONG, PVOID *, PULONG, PNTSTATUS)
Definition: ntsecpkg.h:229
UNICODE_STRING DomainName
Definition: ntsecpkg.h:117
PLSA_DELETE_CREDENTIAL DeleteCredential
Definition: ntsecpkg.h:273
NTSTATUS(NTAPI * PLSA_CALL_PACKAGE_PASSTHROUGH)(PUNICODE_STRING, PVOID, PVOID, ULONG, PVOID *, PULONG, PNTSTATUS)
Definition: ntsecpkg.h:257
UNICODE_STRING DnsDomainName
Definition: ntsecpkg.h:118
UNICODE_STRING Spare3
Definition: ntsecpkg.h:97
SpUnsealMessageFn * UnsealMessage
Definition: ntsecpkg.h:478
struct _SID * PSID
Definition: eventlog.c:35
SpInitLsaModeContextFn * InitLsaModeContext
Definition: ntsecpkg.h:443
unsigned char UCHAR
Definition: xmlstorage.h:181
BOOLEAN Restricted
Definition: ntsecpkg.h:129
ULONG EncodedIdLength
Definition: ntsecpkg.h:142
GUID PULONG
Definition: ntsecpkg.h:389
PLSA_FREE_LSA_HEAP FreeLsaHeap
Definition: ntsecpkg.h:290
SECPKG_EXTENDED_INFORMATION_CLASS Class
Definition: ntsecpkg.h:163
NTSTATUS(NTAPI * PLSA_AP_LOGON_USER_EX2)(PLSA_CLIENT_REQUEST, SECURITY_LOGON_TYPE, PVOID, PVOID, ULONG, PVOID *, PULONG, PLUID, PNTSTATUS, PLSA_TOKEN_INFORMATION_TYPE, PVOID *, PUNICODE_STRING *, PUNICODE_STRING *, PUNICODE_STRING *, PSECPKG_PRIMARY_CRED, PSECPKG_SUPPLEMENTAL_CRED_ARRAY *)
Definition: ntsecpkg.h:344
union _SECPKG_EXTENDED_INFORMATION::@3036 Info
SpAddCredentialsFn * SpAddCredentials
Definition: ntsecpkg.h:450
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:414
#define VOID
Definition: acefi.h:82
SpSetCredentialsAttributesFn * SetCredentialsAttributes
Definition: ntsecpkg.h:455
LUID LinkedLogonId
Definition: ntsecpkg.h:179
struct _SECPKG_PRIMARY_CRED * PSECPKG_PRIMARY_CRED
Definition: ntsecpkg.h:353
ULONG * PLSA_SEC_HANDLE
Definition: ntsecpkg.h:188
ULONG LSA_SEC_HANDLE
Definition: ntsecpkg.h:188
PLSA_ADD_CREDENTIAL AddCredential
Definition: ntsecpkg.h:286
SpInitializeFn * Initialize
Definition: ntsecpkg.h:433
PLSA_CLOSE_SAM_USER CloseSamUser
Definition: ntsecpkg.h:317
VOID(NTAPI * PLSA_FREE_SHARED_MEMORY)(PVOID, PVOID)
Definition: ntsecpkg.h:236
SpMakeSignatureFn * MakeSignature
Definition: ntsecpkg.h:475
NTSTATUS(NTAPI * PLSA_CLIENT_CALLBACK)(PCHAR, ULONG_PTR, ULONG_PTR, PSecBuffer, PSecBuffer)
Definition: ntsecpkg.h:247
PLSA_CANCEL_NOTIFICATION CancelNotification
Definition: ntsecpkg.h:302
typedef BOOLEAN
Definition: ntsecpkg.h:384
struct _SECPKG_DLL_FUNCTIONS * PSECPKG_DLL_FUNCTIONS
Definition: ntsecpkg.h:398
SpQueryMetaDataFn * QueryMetaData
Definition: ntsecpkg.h:459
PLSA_CALL_PACKAGE CallPackage
Definition: ntsecpkg.h:306
struct _SECPKG_CALL_INFO SECPKG_CALL_INFO
PTOKEN_PRIVILEGES Privileges
Definition: authpackage.c:32
PLSA_DELETE_LOGON_SESSION DeleteLogonSession
Definition: ntsecpkg.h:270
PLSA_COPY_TO_CLIENT_BUFFER CopyToClientBuffer
Definition: ntsecpkg.h:293
struct _SECPKG_PARAMETERS * PSECPKG_PARAMETERS
PLSA_CREATE_SHARED_MEMORY CreateSharedMemory
Definition: ntsecpkg.h:310
SpApplyControlTokenFn * ApplyControlToken
Definition: ntsecpkg.h:446
SpSetExtendedInformationFn * SetExtendedInformation
Definition: ntsecpkg.h:451
PLSA_AUDIT_ACCOUNT_LOGON AuditAccountLogon
Definition: ntsecpkg.h:323
PLSA_ALLOCATE_LSA_HEAP AllocateLsaHeap
Definition: ntsecpkg.h:289
SpGetUserInfoFn * GetUserInfo
Definition: ntsecpkg.h:447
struct _SECPKG_FUNCTION_TABLE * PSECPKG_FUNCTION_TABLE
PLSA_FREE_CLIENT_BUFFER FreeClientBuffer
Definition: ntsecpkg.h:277
SpSaveCredentialsFn * SaveCredentials
Definition: ntsecpkg.h:440
NTSTATUS(NTAPI * PLSA_GET_USER_CREDENTIALS)(PVOID, PVOID *, PULONG, PVOID *, PULONG)
Definition: ntsecpkg.h:240
PLSA_MAP_BUFFER MapBuffer
Definition: ntsecpkg.h:303
enum _SECURITY_LOGON_TYPE SECURITY_LOGON_TYPE
Definition: ntsecpkg.h:176
SpGetInfoFn * GetInfo
Definition: ntsecpkg.h:435
TOKEN_DEFAULT_DACL DefaultDacl
Definition: authpackage.c:34
struct _SecPkgInfoW * PSecPkgInfoW
struct _SECURITY_USER_DATA SECURITY_USER_DATA
struct _SECURITY_USER_DATA * PSECURITY_USER_DATA
PLSA_AP_LOGON_USER_EX LogonUserEx
Definition: ntsecpkg.h:431
NTSTATUS(NTAPI * PLSA_AP_INITIALIZE_PACKAGE)(ULONG, PLSA_DISPATCH_TABLE, PLSA_STRING, PLSA_STRING, PLSA_STRING *)
Definition: ntsecpkg.h:329
struct _SECURITY_USER_DATA * PSecurityUserData
PLSA_DELETE_SHARED_MEMORY DeleteSharedMemory
Definition: ntsecpkg.h:313
UNICODE_STRING Spare1
Definition: ntsecpkg.h:95
PLSA_COPY_FROM_CLIENT_BUFFER CopyFromClientBuffer
Definition: ntsecpkg.h:294
struct _LSA_STRING * PLSA_STRING
struct _SECPKG_PARAMETERS SECPKG_PARAMETERS
UNICODE_STRING Password
Definition: ntsecpkg.h:88
PLSA_CREATE_LOGON_SESSION CreateLogonSession
Definition: ntsecpkg.h:284
struct _SECPKG_MUTUAL_AUTH_LEVEL * PSECPKG_MUTUAL_AUTH_LEVEL
SpShutDownFn * Shutdown
Definition: ntsecpkg.h:434
SpInstanceInitFn * InstanceInit
Definition: ntsecpkg.h:473
NTSTATUS(NTAPI * PLSA_CANCEL_NOTIFICATION)(HANDLE)
Definition: ntsecpkg.h:220
_SECPKG_EXTENDED_INFORMATION_CLASS
Definition: ntsecpkg.h:49
BOOLEAN(NTAPI * PLSA_GET_CALL_INFO)(PSECPKG_CALL_INFO)
Definition: ntsecpkg.h:231
struct _SECPKG_MUTUAL_AUTH_LEVEL SECPKG_MUTUAL_AUTH_LEVEL
UNICODE_STRING Spare2
Definition: ntsecpkg.h:96
LSA_TOKEN_INFORMATION_V1 LSA_TOKEN_INFORMATION_V2
Definition: ntsecpkg.h:82
NTSTATUS(NTAPI * PLSA_OPEN_SAM_USER)(PUNICODE_STRING, SECPKG_NAME_TYPE, PUNICODE_STRING, BOOLEAN, ULONG, PVOID *)
Definition: ntsecpkg.h:238
PLSA_ALLOCATE_CLIENT_BUFFER AllocateClientBuffer
Definition: ntsecpkg.h:291
PLSA_REGISTER_NOTIFICATION RegisterNotification
Definition: ntsecpkg.h:301
PLSA_GET_USER_AUTH_DATA GetUserAuthData
Definition: ntsecpkg.h:316
NTSTATUS(NTAPI * PLSA_MAP_BUFFER)(PSecBuffer, PSecBuffer)
Definition: ntsecpkg.h:221
LSA_AP_POST_LOGON_USER * PostLogonUser
Definition: ntsecpkg.h:466
PSecurityUserData *typedef PSECPKG_EXTENDED_INFORMATION *typedef PVOID
Definition: ntsecpkg.h:373
GUID PUCHAR *typedef GUID PUCHAR
Definition: ntsecpkg.h:391
PLSA_FREE_SHARED_MEMORY FreeSharedMemory
Definition: ntsecpkg.h:312
unsigned int ULONG
Definition: retypes.h:1
SpGetExtendedInformationFn * GetExtendedInformation
Definition: ntsecpkg.h:448
NTSTATUS(NTAPI * PLSA_COPY_TO_CLIENT_BUFFER)(PLSA_CLIENT_REQUEST, ULONG, PVOID, PVOID)
Definition: ntsecpkg.h:206
SpGetCredentialsFn * GetCredentials
Definition: ntsecpkg.h:441
#define ULONG_PTR
Definition: config.h:101
PLSA_GET_AUTH_DATA_FOR_USER GetAuthDataForUser
Definition: ntsecpkg.h:321
PVOID(NTAPI * PLSA_CREATE_SHARED_MEMORY)(ULONG, ULONG)
Definition: ntsecpkg.h:234
NTSTATUS(NTAPI * PLSA_CLOSE_SAM_USER)(PVOID)
Definition: ntsecpkg.h:243
PSecurityUserData *typedef NTSTATUS(NTAPI SpGetExtendedInformationFn)(SECPKG_EXTENDED_INFORMATION_CLASS
Definition: ntsecpkg.h:371
SpGetCredUIContextFn * GetCredUIContext
Definition: ntsecpkg.h:461
SpDeleteCredentialsFn * DeleteCredentials
Definition: ntsecpkg.h:442
struct _SECPKG_USER_FUNCTION_TABLE SECPKG_USER_FUNCTION_TABLE
NTSTATUS(NTAPI * PLSA_COPY_FROM_CLIENT_BUFFER)(PLSA_CLIENT_REQUEST, ULONG, PVOID, PVOID)
Definition: ntsecpkg.h:208
PLSA_ALLOCATE_LSA_HEAP AllocateHeap
Definition: ntsecpkg.h:262
WCHAR * LPWSTR
Definition: xmlstorage.h:184
NTSTATUS(NTAPI * PLSA_CREATE_TOKEN)(PLUID, PTOKEN_SOURCE, SECURITY_LOGON_TYPE, SECURITY_IMPERSONATION_LEVEL, LSA_TOKEN_INFORMATION_TYPE, PVOID, PTOKEN_GROUPS, PUNICODE_STRING, PUNICODE_STRING, PUNICODE_STRING, PUNICODE_STRING, PHANDLE, PNTSTATUS)
Definition: ntsecpkg.h:222
NTSTATUS(NTAPI * PLSA_SAVE_SUPPLEMENTAL_CREDENTIALS)(PLUID, ULONG, PVOID, BOOLEAN)
Definition: ntsecpkg.h:213
SpQueryContextAttributesFn * SpQueryContextAttributes
Definition: ntsecpkg.h:480
struct _SECPKG_GSS_INFO SECPKG_GSS_INFO
PLSA_FREE_LSA_HEAP FreeHeap
Definition: ntsecpkg.h:263
PLSA_AP_LOGON_TERMINATED LogonTerminated
Definition: ntsecpkg.h:428
NTSTATUS(NTAPI * PLSA_GET_CLIENT_INFO)(PSECPKG_CLIENT_INFO)
Definition: ntsecpkg.h:217
LUID LogonId
Definition: ntsecpkg.h:178
PLSA_COPY_FROM_CLIENT_BUFFER CopyFromClientBuffer
Definition: ntsecpkg.h:279
struct _SECPKG_USER_FUNCTION_TABLE * PSECPKG_USER_FUNCTION_TABLE
SpAcquireCredentialsHandleFn * SpAcquireCredentialsHandle
Definition: ntsecpkg.h:437
struct _SECPKG_SUPPLEMENTAL_CRED_ARRAY SECPKG_SUPPLEMENTAL_CRED_ARRAY
SECPKG_SUPPLEMENTAL_CRED Credentials[1]
Definition: ntsecpkg.h:109
typedef PTimeStamp
Definition: ntsecpkg.h:354
typedef PLUID
Definition: ntsecpkg.h:354
NTSTATUS(NTAPI * PLSA_AP_CALL_PACKAGE_PASSTHROUGH)(PUNICODE_STRING, PVOID, PVOID, ULONG, PVOID *, PULONG, PNTSTATUS)
Definition: ntsecpkg.h:338
PLSA_ALLOCATE_LSA_HEAP AllocateLsaHeap
Definition: ntsecpkg.h:274
UNICODE_STRING LogonServer
Definition: ntsecpkg.h:94
PLSA_GET_CREDENTIALS GetCredentials
Definition: ntsecpkg.h:272
PVOID(NTAPI * PLSA_ALLOCATE_LSA_HEAP)(ULONG)
Definition: ntsecpkg.h:201
struct _SECPKG_FUNCTION_TABLE SECPKG_FUNCTION_TABLE
SECPKG_MUTUAL_AUTH_LEVEL MutualAuthLevel
Definition: ntsecpkg.h:167
NTSTATUS(NTAPI * PLSA_AP_LOGON_USER)(LPWSTR, LPWSTR, LPWSTR, LPWSTR, DWORD, DWORD, PHANDLE)
Definition: ntsecpkg.h:331
PLSA_CREATE_TOKEN CreateToken
Definition: ntsecpkg.h:304
enum _LSA_TOKEN_INFORMATION_TYPE LSA_TOKEN_INFORMATION_TYPE
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68