mirror of
https://github.com/reactos/reactos.git
synced 2025-06-14 18:18:34 +00:00
[PSDK] Extend struct _SECPKG_DLL_FUNCTIONS, fix definitions.
* Add missing enums to MSV1_0_PROTOCOL_MESSAGE_TYPE and SECPKG_EXTENDED_INFORMATION_CLASS * Add missing function entries to LSA_SECPKG_FUNCTION_TABLE and add needed definitions. * Fix params of PLSA_AP_CALL_PACKAGE * Fix SpInitializeFn (+ NTAPI)
This commit is contained in:
parent
00adb1a3f9
commit
11fe17c3a1
3 changed files with 66 additions and 10 deletions
|
@ -226,7 +226,10 @@ typedef enum _MSV1_0_PROTOCOL_MESSAGE_TYPE {
|
||||||
MsV1_0CacheLogon,
|
MsV1_0CacheLogon,
|
||||||
MsV1_0SubAuth,
|
MsV1_0SubAuth,
|
||||||
MsV1_0DeriveCredential,
|
MsV1_0DeriveCredential,
|
||||||
MsV1_0CacheLookup
|
MsV1_0CacheLookup,
|
||||||
|
#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
|
||||||
|
MsV1_0SetProcessOption,
|
||||||
|
#endif
|
||||||
} MSV1_0_PROTOCOL_MESSAGE_TYPE, *PMSV1_0_PROTOCOL_MESSAGE_TYPE;
|
} MSV1_0_PROTOCOL_MESSAGE_TYPE, *PMSV1_0_PROTOCOL_MESSAGE_TYPE;
|
||||||
typedef enum _POLICY_LSA_SERVER_ROLE {
|
typedef enum _POLICY_LSA_SERVER_ROLE {
|
||||||
PolicyServerRoleBackup = 2,
|
PolicyServerRoleBackup = 2,
|
||||||
|
|
|
@ -51,6 +51,8 @@ typedef enum _SECPKG_EXTENDED_INFORMATION_CLASS
|
||||||
SecpkgGssInfo = 1,
|
SecpkgGssInfo = 1,
|
||||||
SecpkgContextThunks,
|
SecpkgContextThunks,
|
||||||
SecpkgMutualAuthLevel,
|
SecpkgMutualAuthLevel,
|
||||||
|
SecpkgWowClientDll,
|
||||||
|
SecpkgExtraOids,
|
||||||
SecpkgMaxInfo
|
SecpkgMaxInfo
|
||||||
} SECPKG_EXTENDED_INFORMATION_CLASS;
|
} SECPKG_EXTENDED_INFORMATION_CLASS;
|
||||||
|
|
||||||
|
@ -131,9 +133,9 @@ typedef struct _SECPKG_CLIENT_INFO {
|
||||||
*PSECPKG_CLIENT_INFO;
|
*PSECPKG_CLIENT_INFO;
|
||||||
|
|
||||||
typedef struct _SECURITY_USER_DATA {
|
typedef struct _SECURITY_USER_DATA {
|
||||||
UNICODE_STRING UserName;
|
SECURITY_STRING UserName;
|
||||||
UNICODE_STRING LogonDomainName;
|
SECURITY_STRING LogonDomainName;
|
||||||
UNICODE_STRING LogonServer;
|
SECURITY_STRING LogonServer;
|
||||||
PSID pSid;
|
PSID pSid;
|
||||||
} SECURITY_USER_DATA, *PSECURITY_USER_DATA,
|
} SECURITY_USER_DATA, *PSECURITY_USER_DATA,
|
||||||
SecurityUserData, *PSecurityUserData;
|
SecurityUserData, *PSecurityUserData;
|
||||||
|
@ -152,6 +154,22 @@ typedef struct _SECPKG_MUTUAL_AUTH_LEVEL {
|
||||||
ULONG MutualAuthLevel;
|
ULONG MutualAuthLevel;
|
||||||
} SECPKG_MUTUAL_AUTH_LEVEL, *PSECPKG_MUTUAL_AUTH_LEVEL;
|
} SECPKG_MUTUAL_AUTH_LEVEL, *PSECPKG_MUTUAL_AUTH_LEVEL;
|
||||||
|
|
||||||
|
typedef struct _SECPKG_WOW_CLIENT_DLL {
|
||||||
|
SECURITY_STRING WowClientDllPath;
|
||||||
|
} SECPKG_WOW_CLIENT_DLL, *PSECPKG_WOW_CLIENT_DLL;
|
||||||
|
|
||||||
|
#define SECPKG_MAX_OID_LENGTH 32
|
||||||
|
typedef struct _SECPKG_SERIALIZED_OID {
|
||||||
|
ULONG OidLength;
|
||||||
|
ULONG OidAttributes;
|
||||||
|
UCHAR OidValue[SECPKG_MAX_OID_LENGTH];
|
||||||
|
} SECPKG_SERIALIZED_OID, *PSECPKG_SERIALIZED_OID;
|
||||||
|
|
||||||
|
typedef struct _SECPKG_EXTRA_OIDS {
|
||||||
|
ULONG OidCount;
|
||||||
|
SECPKG_SERIALIZED_OID Oids[1];
|
||||||
|
} SECPKG_EXTRA_OIDS, *PSECPKG_EXTRA_OIDS;
|
||||||
|
|
||||||
typedef struct _SECPKG_CALL_INFO {
|
typedef struct _SECPKG_CALL_INFO {
|
||||||
ULONG ProcessId;
|
ULONG ProcessId;
|
||||||
ULONG ThreadId;
|
ULONG ThreadId;
|
||||||
|
@ -165,6 +183,8 @@ typedef struct _SECPKG_EXTENDED_INFORMATION {
|
||||||
SECPKG_GSS_INFO GssInfo;
|
SECPKG_GSS_INFO GssInfo;
|
||||||
SECPKG_CONTEXT_THUNKS ContextThunks;
|
SECPKG_CONTEXT_THUNKS ContextThunks;
|
||||||
SECPKG_MUTUAL_AUTH_LEVEL MutualAuthLevel;
|
SECPKG_MUTUAL_AUTH_LEVEL MutualAuthLevel;
|
||||||
|
SECPKG_WOW_CLIENT_DLL WowClientDll;
|
||||||
|
SECPKG_EXTRA_OIDS ExtraOids;
|
||||||
} Info;
|
} Info;
|
||||||
} SECPKG_EXTENDED_INFORMATION, *PSECPKG_EXTENDED_INFORMATION;
|
} SECPKG_EXTENDED_INFORMATION, *PSECPKG_EXTENDED_INFORMATION;
|
||||||
|
|
||||||
|
@ -235,8 +255,8 @@ typedef PVOID (NTAPI *PLSA_CREATE_SHARED_MEMORY)(ULONG, ULONG);
|
||||||
typedef PVOID (NTAPI *PLSA_ALLOCATE_SHARED_MEMORY)(PVOID, ULONG);
|
typedef PVOID (NTAPI *PLSA_ALLOCATE_SHARED_MEMORY)(PVOID, ULONG);
|
||||||
typedef VOID (NTAPI *PLSA_FREE_SHARED_MEMORY)(PVOID, PVOID);
|
typedef VOID (NTAPI *PLSA_FREE_SHARED_MEMORY)(PVOID, PVOID);
|
||||||
typedef BOOLEAN (NTAPI *PLSA_DELETE_SHARED_MEMORY)(PVOID);
|
typedef BOOLEAN (NTAPI *PLSA_DELETE_SHARED_MEMORY)(PVOID);
|
||||||
typedef NTSTATUS (NTAPI *PLSA_OPEN_SAM_USER)(PUNICODE_STRING, SECPKG_NAME_TYPE,
|
typedef NTSTATUS (NTAPI *PLSA_OPEN_SAM_USER)(PSECURITY_STRING, SECPKG_NAME_TYPE,
|
||||||
PUNICODE_STRING, BOOLEAN, ULONG, PVOID*);
|
PSECURITY_STRING, BOOLEAN, ULONG, PVOID*);
|
||||||
typedef NTSTATUS (NTAPI *PLSA_GET_USER_CREDENTIALS)(PVOID, PVOID *, PULONG,
|
typedef NTSTATUS (NTAPI *PLSA_GET_USER_CREDENTIALS)(PVOID, PVOID *, PULONG,
|
||||||
PVOID *, PULONG);
|
PVOID *, PULONG);
|
||||||
typedef NTSTATUS (NTAPI *PLSA_GET_USER_AUTH_DATA)(PVOID, PUCHAR *, PULONG);
|
typedef NTSTATUS (NTAPI *PLSA_GET_USER_AUTH_DATA)(PVOID, PUCHAR *, PULONG);
|
||||||
|
@ -247,8 +267,8 @@ typedef NTSTATUS (NTAPI *PLSA_CONVERT_AUTH_DATA_TO_TOKEN)(PVOID, ULONG,
|
||||||
typedef NTSTATUS (NTAPI *PLSA_CLIENT_CALLBACK)(PCHAR, ULONG_PTR, ULONG_PTR,
|
typedef NTSTATUS (NTAPI *PLSA_CLIENT_CALLBACK)(PCHAR, ULONG_PTR, ULONG_PTR,
|
||||||
PSecBuffer, PSecBuffer);
|
PSecBuffer, PSecBuffer);
|
||||||
typedef NTSTATUS (NTAPI *PLSA_UPDATE_PRIMARY_CREDENTIALS)(PSECPKG_PRIMARY_CRED, PSECPKG_SUPPLEMENTAL_CRED_ARRAY);
|
typedef NTSTATUS (NTAPI *PLSA_UPDATE_PRIMARY_CREDENTIALS)(PSECPKG_PRIMARY_CRED, PSECPKG_SUPPLEMENTAL_CRED_ARRAY);
|
||||||
typedef NTSTATUS (NTAPI *PLSA_GET_AUTH_DATA_FOR_USER)(PUNICODE_STRING,
|
typedef NTSTATUS (NTAPI *PLSA_GET_AUTH_DATA_FOR_USER)(PSECURITY_STRING,
|
||||||
SECPKG_NAME_TYPE, PUNICODE_STRING, PUCHAR *, PULONG, PUNICODE_STRING);
|
SECPKG_NAME_TYPE, PSECURITY_STRING, PUCHAR *, PULONG, PUNICODE_STRING);
|
||||||
typedef NTSTATUS (NTAPI *PLSA_CRACK_SINGLE_NAME)(ULONG, BOOLEAN,
|
typedef NTSTATUS (NTAPI *PLSA_CRACK_SINGLE_NAME)(ULONG, BOOLEAN,
|
||||||
PUNICODE_STRING, PUNICODE_STRING, ULONG, PUNICODE_STRING, PUNICODE_STRING,
|
PUNICODE_STRING, PUNICODE_STRING, ULONG, PUNICODE_STRING, PUNICODE_STRING,
|
||||||
PULONG);
|
PULONG);
|
||||||
|
@ -256,6 +276,11 @@ typedef NTSTATUS (NTAPI *PLSA_AUDIT_ACCOUNT_LOGON)(ULONG, BOOLEAN,
|
||||||
PUNICODE_STRING, PUNICODE_STRING, PUNICODE_STRING, NTSTATUS);
|
PUNICODE_STRING, PUNICODE_STRING, PUNICODE_STRING, NTSTATUS);
|
||||||
typedef NTSTATUS (NTAPI *PLSA_CALL_PACKAGE_PASSTHROUGH)(PUNICODE_STRING, PVOID,
|
typedef NTSTATUS (NTAPI *PLSA_CALL_PACKAGE_PASSTHROUGH)(PUNICODE_STRING, PVOID,
|
||||||
PVOID, ULONG, PVOID*, PULONG, PNTSTATUS);
|
PVOID, ULONG, PVOID*, PULONG, PNTSTATUS);
|
||||||
|
typedef VOID (NTAPI *PLSA_PROTECT_MEMORY)(PVOID, ULONG);
|
||||||
|
typedef NTSTATUS (NTAPI *PLSA_OPEN_TOKEN_BY_LOGON_ID)(PLUID, HANDLE *);
|
||||||
|
typedef NTSTATUS (NTAPI *PLSA_EXPAND_AUTH_DATA_FOR_DOMAIN)(PUCHAR, ULONG, PVOID, PUCHAR *, PULONG);
|
||||||
|
typedef PVOID (NTAPI *PLSA_ALLOCATE_PRIVATE_HEAP)(SIZE_T);
|
||||||
|
typedef VOID (NTAPI *PLSA_FREE_PRIVATE_HEAP)(PVOID);
|
||||||
|
|
||||||
/* Dispatch tables of functions used by SSP/AP */
|
/* Dispatch tables of functions used by SSP/AP */
|
||||||
typedef struct _SECPKG_DLL_FUNCTIONS {
|
typedef struct _SECPKG_DLL_FUNCTIONS {
|
||||||
|
@ -322,6 +347,21 @@ typedef struct _LSA_SECPKG_FUNCTION_TABLE {
|
||||||
PLSA_CRACK_SINGLE_NAME CrackSingleName;
|
PLSA_CRACK_SINGLE_NAME CrackSingleName;
|
||||||
PLSA_AUDIT_ACCOUNT_LOGON AuditAccountLogon;
|
PLSA_AUDIT_ACCOUNT_LOGON AuditAccountLogon;
|
||||||
PLSA_CALL_PACKAGE_PASSTHROUGH CallPackagePassthrough;
|
PLSA_CALL_PACKAGE_PASSTHROUGH CallPackagePassthrough;
|
||||||
|
#ifdef _WINCRED_H_
|
||||||
|
CredReadFn *CrediRead;
|
||||||
|
CredReadDomainCredentialsFn *CrediReadDomainCredentials;
|
||||||
|
CredFreeCredentialsFn *CrediFreeCredentials;
|
||||||
|
#else
|
||||||
|
PLSA_PROTECT_MEMORY DummyFunction1;
|
||||||
|
PLSA_PROTECT_MEMORY DummyFunction2;
|
||||||
|
PLSA_PROTECT_MEMORY DummyFunction3;
|
||||||
|
#endif
|
||||||
|
PLSA_PROTECT_MEMORY LsaProtectMemory;
|
||||||
|
PLSA_PROTECT_MEMORY LsaUnprotectMemory;
|
||||||
|
PLSA_OPEN_TOKEN_BY_LOGON_ID OpenTokenByLogonId;
|
||||||
|
PLSA_EXPAND_AUTH_DATA_FOR_DOMAIN ExpandAuthDataForDomain;
|
||||||
|
PLSA_ALLOCATE_PRIVATE_HEAP AllocatePrivateHeap;
|
||||||
|
PLSA_FREE_PRIVATE_HEAP FreePrivateHeap;
|
||||||
} LSA_SECPKG_FUNCTION_TABLE,
|
} LSA_SECPKG_FUNCTION_TABLE,
|
||||||
*PLSA_SECPKG_FUNCTION_TABLE;
|
*PLSA_SECPKG_FUNCTION_TABLE;
|
||||||
|
|
||||||
|
@ -330,7 +370,7 @@ typedef NTSTATUS (NTAPI *PLSA_AP_INITIALIZE_PACKAGE)(ULONG, PLSA_DISPATCH_TABLE,
|
||||||
PLSA_STRING, PLSA_STRING, PLSA_STRING *);
|
PLSA_STRING, PLSA_STRING, PLSA_STRING *);
|
||||||
typedef NTSTATUS (NTAPI *PLSA_AP_LOGON_USER)(LPWSTR, LPWSTR, LPWSTR, LPWSTR,
|
typedef NTSTATUS (NTAPI *PLSA_AP_LOGON_USER)(LPWSTR, LPWSTR, LPWSTR, LPWSTR,
|
||||||
DWORD, DWORD, PHANDLE);
|
DWORD, DWORD, PHANDLE);
|
||||||
typedef NTSTATUS (NTAPI *PLSA_AP_CALL_PACKAGE)(PUNICODE_STRING, PVOID, ULONG,
|
typedef NTSTATUS (NTAPI *PLSA_AP_CALL_PACKAGE)(PLSA_CLIENT_REQUEST, PVOID, PVOID, ULONG,
|
||||||
PVOID *, PULONG, PNTSTATUS);
|
PVOID *, PULONG, PNTSTATUS);
|
||||||
typedef VOID (NTAPI *PLSA_AP_LOGON_TERMINATED)(PLUID);
|
typedef VOID (NTAPI *PLSA_AP_LOGON_TERMINATED)(PLUID);
|
||||||
typedef NTSTATUS (NTAPI *PLSA_AP_CALL_PACKAGE_UNTRUSTED)(PLSA_CLIENT_REQUEST,
|
typedef NTSTATUS (NTAPI *PLSA_AP_CALL_PACKAGE_UNTRUSTED)(PLSA_CLIENT_REQUEST,
|
||||||
|
@ -345,7 +385,7 @@ typedef NTSTATUS (NTAPI *PLSA_AP_LOGON_USER_EX2)(PLSA_CLIENT_REQUEST,
|
||||||
SECURITY_LOGON_TYPE, PVOID, PVOID, ULONG, PVOID *, PULONG, PLUID, PNTSTATUS,
|
SECURITY_LOGON_TYPE, PVOID, PVOID, ULONG, PVOID *, PULONG, PLUID, PNTSTATUS,
|
||||||
PLSA_TOKEN_INFORMATION_TYPE, PVOID *, PUNICODE_STRING *, PUNICODE_STRING *,
|
PLSA_TOKEN_INFORMATION_TYPE, PVOID *, PUNICODE_STRING *, PUNICODE_STRING *,
|
||||||
PUNICODE_STRING *, PSECPKG_PRIMARY_CRED, PSECPKG_SUPPLEMENTAL_CRED_ARRAY *);
|
PUNICODE_STRING *, PSECPKG_PRIMARY_CRED, PSECPKG_SUPPLEMENTAL_CRED_ARRAY *);
|
||||||
typedef NTSTATUS (SpInitializeFn)(ULONG_PTR, PSECPKG_PARAMETERS,
|
typedef NTSTATUS (NTAPI SpInitializeFn)(ULONG_PTR, PSECPKG_PARAMETERS,
|
||||||
PLSA_SECPKG_FUNCTION_TABLE);
|
PLSA_SECPKG_FUNCTION_TABLE);
|
||||||
typedef NTSTATUS (NTAPI SpShutDownFn)(void);
|
typedef NTSTATUS (NTAPI SpShutDownFn)(void);
|
||||||
typedef NTSTATUS (NTAPI SpGetInfoFn)(PSecPkgInfoW);
|
typedef NTSTATUS (NTAPI SpGetInfoFn)(PSecPkgInfoW);
|
||||||
|
|
|
@ -77,6 +77,19 @@ typedef struct _SECURITY_INTEGER
|
||||||
} SECURITY_INTEGER, *PSECURITY_INTEGER;
|
} SECURITY_INTEGER, *PSECURITY_INTEGER;
|
||||||
typedef SECURITY_INTEGER TimeStamp, *PTimeStamp;
|
typedef SECURITY_INTEGER TimeStamp, *PTimeStamp;
|
||||||
|
|
||||||
|
// UNICODE_STRING should have the same memory layout in 32 bit and 64 bit mode.
|
||||||
|
// In 32 bit mode SECURITY_STRING is simply a clone of UNICODE_STRING.
|
||||||
|
// It is used internal in kernel an security components.
|
||||||
|
#ifndef _NTDEF_
|
||||||
|
typedef struct _SECURITY_STRING {
|
||||||
|
unsigned short Length;
|
||||||
|
unsigned short MaximumLength;
|
||||||
|
unsigned short *Buffer;
|
||||||
|
} SECURITY_STRING, *PSECURITY_STRING;
|
||||||
|
#else
|
||||||
|
typedef UNICODE_STRING SECURITY_STRING, *PSECURITY_STRING;
|
||||||
|
#endif
|
||||||
|
|
||||||
#define SSPIPFC_CREDPROV_DO_NOT_SAVE 0x00000001
|
#define SSPIPFC_CREDPROV_DO_NOT_SAVE 0x00000001
|
||||||
#define SSPIPFC_NO_CHECKBOX 0x00000002
|
#define SSPIPFC_NO_CHECKBOX 0x00000002
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue