ReactOS 0.4.16-dev-2331-gc9e73b6
ntsecapi.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1999 Juergen Schmied
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 _NTSECAPI_
20#define _NTSECAPI_
21
22#ifndef GUID_DEFINED
23# include <guiddef.h>
24#endif
25
26#ifdef __cplusplus
27extern "C" {
28#endif /* defined(__cplusplus) */
29
30/* Policy access rights */
31#define POLICY_VIEW_LOCAL_INFORMATION __MSABI_LONG(0x00000001)
32#define POLICY_VIEW_AUDIT_INFORMATION __MSABI_LONG(0x00000002)
33#define POLICY_GET_PRIVATE_INFORMATION __MSABI_LONG(0x00000004)
34#define POLICY_TRUST_ADMIN __MSABI_LONG(0x00000008)
35#define POLICY_CREATE_ACCOUNT __MSABI_LONG(0x00000010)
36#define POLICY_CREATE_SECRET __MSABI_LONG(0x00000020)
37#define POLICY_CREATE_PRIVILEGE __MSABI_LONG(0x00000040)
38#define POLICY_SET_DEFAULT_QUOTA_LIMITS __MSABI_LONG(0x00000080)
39#define POLICY_SET_AUDIT_REQUIREMENTS __MSABI_LONG(0x00000100)
40#define POLICY_AUDIT_LOG_ADMIN __MSABI_LONG(0x00000200)
41#define POLICY_SERVER_ADMIN __MSABI_LONG(0x00000400)
42#define POLICY_LOOKUP_NAMES __MSABI_LONG(0x00000800)
43#define POLICY_NOTIFICATION __MSABI_LONG(0x00001000)
44
45#define POLICY_ALL_ACCESS ( \
46 STANDARD_RIGHTS_REQUIRED | \
47 POLICY_VIEW_LOCAL_INFORMATION | \
48 POLICY_VIEW_AUDIT_INFORMATION | \
49 POLICY_GET_PRIVATE_INFORMATION | \
50 POLICY_TRUST_ADMIN | \
51 POLICY_CREATE_ACCOUNT | \
52 POLICY_CREATE_SECRET | \
53 POLICY_CREATE_PRIVILEGE | \
54 POLICY_SET_DEFAULT_QUOTA_LIMITS | \
55 POLICY_SET_AUDIT_REQUIREMENTS | \
56 POLICY_AUDIT_LOG_ADMIN | \
57 POLICY_SERVER_ADMIN | \
58 POLICY_LOOKUP_NAMES)
59
60
61#define POLICY_READ ( \
62 STANDARD_RIGHTS_READ | \
63 POLICY_VIEW_AUDIT_INFORMATION | \
64 POLICY_GET_PRIVATE_INFORMATION)
65
66#define POLICY_WRITE ( \
67 STANDARD_RIGHTS_WRITE | \
68 POLICY_TRUST_ADMIN | \
69 POLICY_CREATE_ACCOUNT | \
70 POLICY_CREATE_SECRET | \
71 POLICY_CREATE_PRIVILEGE | \
72 POLICY_SET_DEFAULT_QUOTA_LIMITS | \
73 POLICY_SET_AUDIT_REQUIREMENTS | \
74 POLICY_AUDIT_LOG_ADMIN | \
75 POLICY_SERVER_ADMIN)
76
77#define POLICY_EXECUTE ( \
78 STANDARD_RIGHTS_EXECUTE | \
79 POLICY_VIEW_LOCAL_INFORMATION | \
80 POLICY_LOOKUP_NAMES)
81
82#define POLICY_AUDIT_EVENT_UNCHANGED __MSABI_LONG(0x00000000)
83#define POLICY_AUDIT_EVENT_SUCCESS __MSABI_LONG(0x00000001)
84#define POLICY_AUDIT_EVENT_FAILURE __MSABI_LONG(0x00000002)
85#define POLICY_AUDIT_EVENT_NONE __MSABI_LONG(0x00000004)
86
87#define POLICY_AUDIT_EVENT_MASK (POLICY_AUDIT_EVENT_SUCCESS | \
88 POLICY_AUDIT_EVENT_FAILURE | \
89 POLICY_AUDIT_EVENT_NONE)
90
91/* logon rights names */
92#define SE_BATCH_LOGON_NAME \
93 TEXT("SeBatchLogonRight")
94#define SE_INTERACTIVE_LOGON_NAME \
95 TEXT("SeInteractiveLogonRight")
96#define SE_NETWORK_LOGON_NAME \
97 TEXT("SeNetworkLogonRight")
98#define SE_REMOTE_INTERACTIVE_LOGON_NAME \
99 TEXT("SeRemoteInteractiveLogonRight")
100#define SE_SERVICE_LOGON_NAME \
101 TEXT("SeServiceLogonRight")
102#define SE_DENY_BATCH_LOGON_NAME \
103 TEXT("SeDenyBatchLogonRight")
104#define SE_DENY_INTERACTIVE_LOGON_NAME \
105 TEXT("SeDenyInteractiveLogonRight")
106#define SE_DENY_NETWORK_LOGON_NAME \
107 TEXT("SeDenyNetworkLogonRight")
108#define SE_DENY_REMOTE_INTERACTIVE_LOGON_NAME \
109 TEXT("SeDenyRemoteInteractiveLogonRight")
110#define SE_DENY_SERVICE_LOGON_NAME \
111 TEXT("SeDenyServiceLogonRight")
112
113#ifndef WINE_NTSTATUS_DECLARED
114#define WINE_NTSTATUS_DECLARED
116#endif
117#ifndef WINE_PNTSTATUS_DECLARED
118#define WINE_PNTSTATUS_DECLARED
120#endif
121
123{
138
140{
149
150#ifndef __STRING_DEFINED__
151#define __STRING_DEFINED__
152typedef struct _STRING {
157#endif
158
159#ifndef __UNICODE_STRING_DEFINED__
160#define __UNICODE_STRING_DEFINED__
161typedef struct _UNICODE_STRING {
162 USHORT Length; /* bytes */
163 USHORT MaximumLength; /* bytes */
166#endif
167
168#ifndef __OBJECT_ATTRIBUTES_DEFINED__
169#define __OBJECT_ATTRIBUTES_DEFINED__
170typedef struct _OBJECT_ATTRIBUTES {
175 PVOID SecurityDescriptor; /* type SECURITY_DESCRIPTOR */
176 PVOID SecurityQualityOfService; /* type SECURITY_QUALITY_OF_SERVICE */
178#endif
179
180#ifndef __SECHANDLE_DEFINED__
181#define __SECHANDLE_DEFINED__
182typedef struct _SecHandle
183{
187#endif
188
191
192#ifdef _NTDEF_
194#else
195typedef struct _LSA_OBJECT_ATTRIBUTES
196{
204#endif
205
206
210
211typedef enum
212{
226
228
229typedef struct _POLICY_AUDIT_EVENTS_INFO
230{
235
236typedef struct _POLICY_PRIMARY_DOMAIN_INFO
237{
239 PSID Sid;
241
242typedef struct _POLICY_ACCOUNT_DOMAIN_INFO
243{
247
248typedef struct _POLICY_DNS_DOMAIN_INFO
249{
254 PSID Sid;
256
258{
262
263typedef struct _POLICY_LSA_SERVER_ROLE_INFO
264{
267
268typedef struct _POLICY_MODIFICATION_INFO
269{
273
279
280typedef struct _SECURITY_LOGON_SESSION_DATA {
281 ULONG Size;
288 PSID Sid;
305
306typedef struct
307{
312
313typedef struct
314{
318
319typedef struct
320{
324
325typedef struct _LSA_TRANSLATED_SID
326{
331
333{
336 PSID Sid;
341
342typedef struct _LSA_AUTH_INFORMATION
343{
349
351{
359
360typedef struct _LSA_TRANSLATED_SID2
361{
363 PSID Sid;
365 ULONG Flags;
367
369{
379
381{
390
392{
397
399{
406
408{
412
414{
418
419#define MICROSOFT_KERBEROS_NAME_A "Kerberos"
420#if defined(_MSC_VER) || defined(__MINGW32__)
421#define MICROSOFT_KERBEROS_NAME_W L"Kerberos"
422#else /* _MSC_VER/__MINGW32__ */
423static const WCHAR MICROSOFT_KERBEROS_NAME_W[] = { 'K','e','r','b','e','r','o','s',0 };
424#endif
425
426#define KERB_TICKET_FLAGS_reserved 0x80000000
427#define KERB_TICKET_FLAGS_forwardable 0x40000000
428#define KERB_TICKET_FLAGS_forwarded 0x20000000
429#define KERB_TICKET_FLAGS_proxiable 0x10000000
430#define KERB_TICKET_FLAGS_proxy 0x08000000
431#define KERB_TICKET_FLAGS_may_postdate 0x04000000
432#define KERB_TICKET_FLAGS_postdated 0x02000000
433#define KERB_TICKET_FLAGS_invalid 0x01000000
434#define KERB_TICKET_FLAGS_renewable 0x00800000
435#define KERB_TICKET_FLAGS_initial 0x00400000
436#define KERB_TICKET_FLAGS_pre_authent 0x00200000
437#define KERB_TICKET_FLAGS_hw_authent 0x00100000
438#define KERB_TICKET_FLAGS_ok_as_delegate 0x00040000
439#define KERB_TICKET_FLAGS_name_canonicalize 0x00010000
440#define KERB_TICKET_FLAGS_cname_in_pa_data 0x00040000
441#define KERB_TICKET_FLAGS_reserved1 0x00000001
442
444{
478
480{
489
491{
494
503
505{
515
519
521{
533
537
538typedef struct _KERB_CRYPTO_KEY
539{
544
546{
551
553{
571
573{
577
579{
584
586{
591
593{
598
600{
605
607{
616
618{
621
623{
629
630#define KERB_ETYPE_NULL 0
631#define KERB_ETYPE_DES_CBC_CRC 1
632#define KERB_ETYPE_DES_CBC_MD4 2
633#define KERB_ETYPE_DES_CBC_MD5 3
634#define KERB_ETYPE_AES128_CTS_HMAC_SHA1_96 17
635#define KERB_ETYPE_AES256_CTS_HMAC_SHA1_96 18
636
637#define KERB_ETYPE_RC4_MD4 -128
638#define KERB_ETYPE_RC4_PLAIN2 -129
639#define KERB_ETYPE_RC4_LM -130
640#define KERB_ETYPE_RC4_SHA -131
641#define KERB_ETYPE_DES_PLAIN -132
642#define KERB_ETYPE_RC4_HMAC_OLD -133
643#define KERB_ETYPE_RC4_PLAIN_OLD -134
644#define KERB_ETYPE_RC4_HMAC_OLD_EXP -135
645#define KERB_ETYPE_RC4_PLAIN_OLD_EXP -136
646#define KERB_ETYPE_RC4_PLAIN -140
647#define KERB_ETYPE_RC4_PLAIN_EXP -141
648#define KERB_ETYPE_AES128_CTS_HMAC_SHA1_96_PLAIN -148
649#define KERB_ETYPE_AES256_CTS_HMAC_SHA1_96_PLAIN -149
650
651#define KERB_ETYPE_DSA_SHA1_CMS 9
652#define KERB_ETYPE_RSA_MD5_CMS 10
653#define KERB_ETYPE_RSA_SHA1_CMS 11
654#define KERB_ETYPE_RC2_CBC_ENV 12
655#define KERB_ETYPE_RSA_ENV 13
656#define KERB_ETYPE_RSA_ES_OEAP_ENV 14
657#define KERB_ETYPE_DES_EDE3_CBC_ENV 15
658
659#define KERB_ETYPE_DSA_SIGN 8
660#define KERB_ETYPE_RSA_PRIV 9
661#define KERB_ETYPE_RSA_PUB 10
662#define KERB_ETYPE_RSA_PUB_MD5 11
663#define KERB_ETYPE_RSA_PUB_SHA1 12
664#define KERB_ETYPE_PKCS7_PUB 13
665
666#define KERB_ETYPE_DES3_CBC_MD5 5
667#define KERB_ETYPE_DES3_CBC_SHA1 7
668#define KERB_ETYPE_DES3_CBC_SHA1_KD 16
669
670#define KERB_ETYPE_DES_CBC_MD5_NT 20
671#define KERB_ETYPE_RC4_HMAC_NT 23
672#define KERB_ETYPE_RC4_HMAC_NT_EXP 24
673
674#define RtlGenRandom SystemFunction036
675#define RtlEncryptMemory SystemFunction040
676#define RtlDecryptMemory SystemFunction041
677
678#define LSA_SUCCESS(Error) ((LONG)(Error) >= 0)
679
680#if defined(__REACTOS__) && defined(__GNUC__)
681#undef WINADVAPI
682#define WINADVAPI
683#endif
688
718#if defined(__REACTOS__) && defined(__GNUC__)
719#undef WINADVAPI
720#define WINADVAPI DECLSPEC_IMPORT
721#endif
722
732
733#ifdef __cplusplus
734} /* extern "C" */
735#endif /* defined(__cplusplus) */
736
737#endif /* !defined(_NTSECAPI_) */
unsigned char BOOLEAN
Definition: actypes.h:127
LONG NTSTATUS
Definition: precomp.h:26
Definition: bufpool.h:45
std::wstring STRING
Definition: fontsub.cpp:33
enum _SID_NAME_USE SID_NAME_USE
* PNTSTATUS
Definition: strlen.c:14
ULONG ACCESS_MASK
Definition: nt_native.h:40
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
short SHORT
Definition: pedump.c:59
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
NTSTATUS NTAPI LsaConnectUntrusted(PHANDLE)
NTSTATUS NTAPI LsaFreeMemory(PVOID)
struct _POLICY_MODIFICATION_INFO POLICY_MODIFICATION_INFO
NTSTATUS NTAPI LsaEnumerateAccountRights(LSA_HANDLE, PSID, PLSA_UNICODE_STRING *, PULONG)
NTSTATUS NTAPI LsaRetrievePrivateData(LSA_HANDLE, PLSA_UNICODE_STRING, PLSA_UNICODE_STRING *)
NTSTATUS NTAPI LsaEnumerateTrustedDomainsEx(LSA_HANDLE, PLSA_ENUMERATION_HANDLE, PVOID *, ULONG, PULONG)
NTSTATUS NTAPI LsaOpenTrustedDomainByName(LSA_HANDLE, PLSA_UNICODE_STRING, ACCESS_MASK, PLSA_HANDLE)
enum _POLICY_LSA_SERVER_ROLE * PPOLICY_LSA_SERVER_ROLE
NTSTATUS NTAPI LsaRegisterPolicyChangeNotification(POLICY_NOTIFICATION_INFORMATION_CLASS, HANDLE)
Definition: lsalpc.c:331
struct _LSA_TRUST_INFORMATION * PLSA_TRUST_INFORMATION
struct _LSA_TRANSLATED_SID2 * PLSA_TRANSLATED_SID2
struct _POLICY_PRIMARY_DOMAIN_INFO POLICY_PRIMARY_DOMAIN_INFO
struct _LSA_REFERENCED_DOMAIN_LIST LSA_REFERENCED_DOMAIN_LIST
NTSTATUS NTAPI LsaOpenPolicy(PLSA_UNICODE_STRING, PLSA_OBJECT_ATTRIBUTES, ACCESS_MASK, PLSA_HANDLE)
ULONG * PPOLICY_AUDIT_EVENT_OPTIONS
Definition: ntsecapi.h:547
NTSTATUS NTAPI LsaDeleteTrustedDomain(LSA_HANDLE, PSID)
NTSTATUS NTAPI LsaLogonUser(HANDLE, PLSA_STRING, SECURITY_LOGON_TYPE, ULONG, PVOID, ULONG, PTOKEN_GROUPS, PTOKEN_SOURCE, PVOID *, PULONG, PLUID, PHANDLE, PQUOTA_LIMITS, PNTSTATUS)
NTSTATUS NTAPI LsaLookupSids(LSA_HANDLE, ULONG, PSID *, PLSA_REFERENCED_DOMAIN_LIST *, PLSA_TRANSLATED_NAME *)
struct _TRUSTED_DOMAIN_AUTH_INFORMATION * PTRUSTED_DOMAIN_AUTH_INFORMATION
@ PolicyModificationInformation
Definition: ntsecapi.h:251
@ PolicyAuditEventsInformation
Definition: ntsecapi.h:244
@ PolicyDefaultQuotaInformation
Definition: ntsecapi.h:250
@ PolicyReplicaSourceInformation
Definition: ntsecapi.h:249
@ PolicyLsaServerRoleInformation
Definition: ntsecapi.h:248
@ PolicyAuditFullSetInformation
Definition: ntsecapi.h:252
@ PolicyDnsDomainInformation
Definition: ntsecapi.h:254
@ PolicyPrimaryDomainInformation
Definition: ntsecapi.h:245
@ PolicyAuditLogInformation
Definition: ntsecapi.h:243
@ PolicyAuditFullQueryInformation
Definition: ntsecapi.h:253
@ PolicyPdAccountInformation
Definition: ntsecapi.h:246
@ PolicyAccountDomainInformation
Definition: ntsecapi.h:247
ULONG * PLSA_OPERATIONAL_MODE
Definition: ntsecapi.h:367
NTSTATUS NTAPI LsaLookupAuthenticationPackage(HANDLE, PLSA_STRING, PULONG)
NTSTATUS NTAPI LsaRemoveAccountRights(LSA_HANDLE, PSID, BOOLEAN, PLSA_UNICODE_STRING, ULONG)
LSA_UNICODE_STRING * PUNICODE_STRING
Definition: ntsecapi.h:186
struct _LSA_TRANSLATED_NAME LSA_TRANSLATED_NAME
enum _SECURITY_LOGON_TYPE * PSECURITY_LOGON_TYPE
struct _LSA_AUTH_INFORMATION * PLSA_AUTH_INFORMATION
enum _POLICY_INFORMATION_CLASS * PPOLICY_INFORMATION_CLASS
LSA_UNICODE_STRING UNICODE_STRING
Definition: ntsecapi.h:186
struct _LSA_REFERENCED_DOMAIN_LIST * PLSA_REFERENCED_DOMAIN_LIST
struct _TRUSTED_DOMAIN_INFORMATION_EX TRUSTED_DOMAIN_INFORMATION_EX
#define RtlEncryptMemory
Definition: ntsecapi.h:692
struct _LSA_OBJECT_ATTRIBUTES LSA_OBJECT_ATTRIBUTES
enum _POLICY_NOTIFICATION_INFORMATION_CLASS * PPOLICY_NOTIFICATION_INFORMATION_CLASS
NTSTATUS NTAPI LsaStorePrivateData(LSA_HANDLE, PLSA_UNICODE_STRING, PLSA_UNICODE_STRING)
_SECURITY_LOGON_TYPE
Definition: ntsecapi.h:288
@ Unlock
Definition: ntsecapi.h:294
@ Interactive
Definition: ntsecapi.h:289
@ Proxy
Definition: ntsecapi.h:293
@ Network
Definition: ntsecapi.h:290
@ Service
Definition: ntsecapi.h:292
@ Batch
Definition: ntsecapi.h:291
ULONG NTAPI LsaNtStatusToWinError(NTSTATUS)
struct _POLICY_PRIMARY_DOMAIN_INFO * PPOLICY_PRIMARY_DOMAIN_INFO
struct _POLICY_DNS_DOMAIN_INFO POLICY_DNS_DOMAIN_INFO
struct _LSA_UNICODE_STRING * PLSA_UNICODE_STRING
LONG * PNTSTATUS
Definition: ntsecapi.h:152
enum _TRUSTED_INFORMATION_CLASS * PTRUSTED_INFORMATION_CLASS
enum _POLICY_AUDIT_EVENT_TYPE * PPOLICY_AUDIT_EVENT_TYPE
struct _POLICY_MODIFICATION_INFO * PPOLICY_MODIFICATION_INFO
struct _LSA_STRING * PLSA_STRING
_TRUSTED_INFORMATION_CLASS
Definition: ntsecapi.h:330
@ TrustedDomainFullInformation
Definition: ntsecapi.h:338
@ TrustedPasswordInformation
Definition: ntsecapi.h:334
@ TrustedDomainAuthInformation
Definition: ntsecapi.h:337
@ TrustedPosixOffsetInformation
Definition: ntsecapi.h:333
@ TrustedDomainNameInformation
Definition: ntsecapi.h:331
@ TrustedDomainInformationEx
Definition: ntsecapi.h:336
@ TrustedControllersInformation
Definition: ntsecapi.h:332
@ TrustedDomainInformationBasic
Definition: ntsecapi.h:335
struct _LSA_UNICODE_STRING LSA_UNICODE_STRING
_POLICY_AUDIT_EVENT_TYPE
Definition: ntsecapi.h:259
@ AuditCategoryLogon
Definition: ntsecapi.h:261
@ AuditCategoryAccountManagement
Definition: ntsecapi.h:266
@ AuditCategoryPolicyChange
Definition: ntsecapi.h:265
@ AuditCategorySystem
Definition: ntsecapi.h:260
@ AuditCategoryObjectAccess
Definition: ntsecapi.h:262
@ AuditCategoryDetailedTracking
Definition: ntsecapi.h:264
@ AuditCategoryPrivilegeUse
Definition: ntsecapi.h:263
struct _POLICY_AUDIT_EVENTS_INFO POLICY_AUDIT_EVENTS_INFO
enum _POLICY_INFORMATION_CLASS POLICY_INFORMATION_CLASS
enum _TRUSTED_INFORMATION_CLASS TRUSTED_INFORMATION_CLASS
struct _POLICY_AUDIT_EVENTS_INFO * PPOLICY_AUDIT_EVENTS_INFO
struct _TRUSTED_DOMAIN_INFORMATION_EX * PTRUSTED_DOMAIN_INFORMATION_EX
enum _SECURITY_LOGON_TYPE SECURITY_LOGON_TYPE
NTSTATUS NTAPI LsaCreateTrustedDomainEx(LSA_HANDLE, PTRUSTED_DOMAIN_INFORMATION_EX, PTRUSTED_DOMAIN_AUTH_INFORMATION, ACCESS_MASK, PLSA_HANDLE)
#define RtlDecryptMemory
Definition: ntsecapi.h:693
struct _POLICY_LSA_SERVER_ROLE_INFO * PPOLICY_LSA_SERVER_ROLE_INFO
ULONG LSA_OPERATIONAL_MODE
Definition: ntsecapi.h:367
NTSTATUS NTAPI LsaSetTrustedDomainInformation(LSA_HANDLE, PSID, TRUSTED_INFORMATION_CLASS, PVOID)
_POLICY_NOTIFICATION_INFORMATION_CLASS
Definition: ntsecapi.h:279
@ PolicyNotifyMachineAccountPasswordInformation
Definition: ntsecapi.h:286
@ PolicyNotifyAuditEventsInformation
Definition: ntsecapi.h:280
@ PolicyNotifyAccountDomainInformation
Definition: ntsecapi.h:281
@ PolicyNotifyDomainKerberosTicketInformation
Definition: ntsecapi.h:285
@ PolicyNotifyDnsDomainInformation
Definition: ntsecapi.h:283
@ PolicyNotifyDomainEfsInformation
Definition: ntsecapi.h:284
@ PolicyNotifyServerRoleInformation
Definition: ntsecapi.h:282
struct _POLICY_ACCOUNT_DOMAIN_INFO * PPOLICY_ACCOUNT_DOMAIN_INFO
enum _POLICY_LSA_SERVER_ROLE POLICY_LSA_SERVER_ROLE
NTSTATUS NTAPI LsaSetTrustedDomainInfoByName(LSA_HANDLE, PLSA_UNICODE_STRING, TRUSTED_INFORMATION_CLASS, PVOID)
struct _LSA_TRANSLATED_SID LSA_TRANSLATED_SID
LONG NTSTATUS
Definition: ntsecapi.h:152
NTSTATUS NTAPI LsaQueryTrustedDomainInfoByName(LSA_HANDLE, PLSA_UNICODE_STRING, TRUSTED_INFORMATION_CLASS, PVOID *)
NTSTATUS NTAPI LsaEnumerateTrustedDomains(LSA_HANDLE, PLSA_ENUMERATION_HANDLE, PVOID *, ULONG, PULONG)
struct _LSA_TRUST_INFORMATION LSA_TRUST_INFORMATION
struct _POLICY_DNS_DOMAIN_INFO * PPOLICY_DNS_DOMAIN_INFO
NTSTATUS NTAPI LsaClose(LSA_HANDLE)
ULONG * PLSA_ENUMERATION_HANDLE
Definition: ntsecapi.h:363
struct _LSA_TRANSLATED_SID * PLSA_TRANSLATED_SID
struct _LSA_AUTH_INFORMATION LSA_AUTH_INFORMATION
NTSTATUS NTAPI LsaCallAuthenticationPackage(HANDLE, ULONG, PVOID, ULONG, PVOID *, PULONG, PNTSTATUS)
PVOID * PLSA_HANDLE
Definition: ntsecapi.h:646
NTSTATUS NTAPI LsaEnumerateAccountsWithUserRight(LSA_HANDLE, PLSA_UNICODE_STRING, PVOID *, PULONG)
struct _POLICY_ACCOUNT_DOMAIN_INFO POLICY_ACCOUNT_DOMAIN_INFO
NTSTATUS NTAPI LsaUnregisterPolicyChangeNotification(POLICY_NOTIFICATION_INFORMATION_CLASS, HANDLE)
Definition: lsalpc.c:378
struct _LSA_TRANSLATED_NAME * PLSA_TRANSLATED_NAME
struct _LSA_TRANSLATED_SID2 LSA_TRANSLATED_SID2
struct _TRUSTED_DOMAIN_AUTH_INFORMATION TRUSTED_DOMAIN_AUTH_INFORMATION
enum _POLICY_NOTIFICATION_INFORMATION_CLASS POLICY_NOTIFICATION_INFORMATION_CLASS
NTSTATUS NTAPI LsaDeregisterLogonProcess(HANDLE)
NTSTATUS NTAPI LsaSetInformationPolicy(LSA_HANDLE, POLICY_INFORMATION_CLASS, PVOID)
NTSTATUS NTAPI LsaFreeReturnBuffer(PVOID)
NTSTATUS NTAPI LsaGetLogonSessionData(PLUID, PSECURITY_LOGON_SESSION_DATA *)
Definition: lsalpc.c:253
struct _SECURITY_LOGON_SESSION_DATA SECURITY_LOGON_SESSION_DATA
NTSTATUS NTAPI LsaLookupNames(LSA_HANDLE, ULONG, PLSA_UNICODE_STRING, PLSA_REFERENCED_DOMAIN_LIST *, PLSA_TRANSLATED_SID *)
NTSTATUS NTAPI LsaQueryTrustedDomainInfo(LSA_HANDLE, PSID, TRUSTED_INFORMATION_CLASS, PVOID *)
ULONG LSA_ENUMERATION_HANDLE
Definition: ntsecapi.h:363
NTSTATUS NTAPI LsaLookupNames2(LSA_HANDLE, ULONG, ULONG, PLSA_UNICODE_STRING, PLSA_REFERENCED_DOMAIN_LIST *, PLSA_TRANSLATED_SID2 *)
struct _LSA_STRING LSA_STRING
struct _POLICY_LSA_SERVER_ROLE_INFO POLICY_LSA_SERVER_ROLE_INFO
NTSTATUS NTAPI LsaAddAccountRights(LSA_HANDLE, PSID, PLSA_UNICODE_STRING, ULONG)
struct _LSA_OBJECT_ATTRIBUTES * PLSA_OBJECT_ATTRIBUTES
ULONG POLICY_AUDIT_EVENT_OPTIONS
Definition: ntsecapi.h:547
NTSTATUS NTAPI LsaQueryInformationPolicy(LSA_HANDLE, POLICY_INFORMATION_CLASS, PVOID *)
struct _SECURITY_LOGON_SESSION_DATA * PSECURITY_LOGON_SESSION_DATA
_POLICY_LSA_SERVER_ROLE
Definition: ntsecapi.h:234
@ PolicyServerRoleBackup
Definition: ntsecapi.h:235
@ PolicyServerRolePrimary
Definition: ntsecapi.h:236
enum _POLICY_AUDIT_EVENT_TYPE POLICY_AUDIT_EVENT_TYPE
LSA_STRING STRING
Definition: ntsecapi.h:187
NTSTATUS NTAPI LsaEnumerateLogonSessions(PULONG, PLUID *)
Definition: lsalpc.c:208
#define RtlGenRandom
Definition: ntsecapi.h:691
NTSTATUS NTAPI LsaRegisterLogonProcess(PLSA_STRING, PHANDLE, PLSA_OPERATIONAL_MODE)
LSA_STRING * PSTRING
Definition: ntsecapi.h:187
PVOID LSA_HANDLE
Definition: ntsecapi.h:646
PLSA_TRUST_INFORMATION Domains
Definition: ntsecapi.h:322
LSA_UNICODE_STRING Name
Definition: ntsecapi.h:309
SID_NAME_USE Use
Definition: ntsecapi.h:308
LSA_UNICODE_STRING Name
Definition: ntsecapi.h:315
UNICODE_STRING Names[ANYSIZE_ARRAY]
Definition: ntsecapi.h:549
LARGE_INTEGER EndTime
Definition: ntsecapi.h:565
UNICODE_STRING DomainName
Definition: ntsecapi.h:557
LARGE_INTEGER KeyExpirationTime
Definition: ntsecapi.h:563
KERB_CRYPTO_KEY SessionKey
Definition: ntsecapi.h:560
PKERB_EXTERNAL_NAME TargetName
Definition: ntsecapi.h:555
UNICODE_STRING TargetDomainName
Definition: ntsecapi.h:558
LARGE_INTEGER StartTime
Definition: ntsecapi.h:564
UNICODE_STRING AltTargetDomainName
Definition: ntsecapi.h:559
PKERB_EXTERNAL_NAME ClientName
Definition: ntsecapi.h:556
LARGE_INTEGER RenewUntil
Definition: ntsecapi.h:566
PKERB_EXTERNAL_NAME ServiceName
Definition: ntsecapi.h:554
LARGE_INTEGER TimeSkew
Definition: ntsecapi.h:567
KERB_PROTOCOL_MESSAGE_TYPE MessageType
Definition: ntsecapi.h:624
UNICODE_STRING ServerName
Definition: ntsecapi.h:626
UNICODE_STRING RealmName
Definition: ntsecapi.h:627
KERB_TICKET_CACHE_INFO_EX2 Tickets[ANYSIZE_ARRAY]
Definition: ntsecapi.h:596
KERB_PROTOCOL_MESSAGE_TYPE MessageType
Definition: ntsecapi.h:594
KERB_TICKET_CACHE_INFO_EX3 Tickets[ANYSIZE_ARRAY]
Definition: ntsecapi.h:603
KERB_PROTOCOL_MESSAGE_TYPE MessageType
Definition: ntsecapi.h:601
KERB_PROTOCOL_MESSAGE_TYPE MessageType
Definition: ntsecapi.h:587
KERB_TICKET_CACHE_INFO_EX Tickets[ANYSIZE_ARRAY]
Definition: ntsecapi.h:589
KERB_PROTOCOL_MESSAGE_TYPE MessageType
Definition: ntsecapi.h:574
KERB_PROTOCOL_MESSAGE_TYPE MessageType
Definition: ntsecapi.h:580
KERB_TICKET_CACHE_INFO Tickets[ANYSIZE_ARRAY]
Definition: ntsecapi.h:582
UNICODE_STRING TargetName
Definition: ntsecapi.h:610
KERB_PROTOCOL_MESSAGE_TYPE MessageType
Definition: ntsecapi.h:608
KERB_EXTERNAL_TICKET Ticket
Definition: ntsecapi.h:619
UNICODE_STRING ServerRealm
Definition: ntsecapi.h:509
UNICODE_STRING ServerName
Definition: ntsecapi.h:508
LARGE_INTEGER StartTime
Definition: ntsecapi.h:510
LARGE_INTEGER RenewTime
Definition: ntsecapi.h:512
UNICODE_STRING ClientRealm
Definition: ntsecapi.h:507
UNICODE_STRING ClientName
Definition: ntsecapi.h:506
UNICODE_STRING ServerName
Definition: ntsecapi.h:524
UNICODE_STRING ClientRealm
Definition: ntsecapi.h:523
UNICODE_STRING ServerRealm
Definition: ntsecapi.h:525
LARGE_INTEGER RenewTime
Definition: ntsecapi.h:528
UNICODE_STRING ClientName
Definition: ntsecapi.h:522
UNICODE_STRING KdcCalled
Definition: ntsecapi.h:535
LARGE_INTEGER StartTime
Definition: ntsecapi.h:526
UNICODE_STRING ClientRealm
Definition: ntsecapi.h:493
LARGE_INTEGER StartTime
Definition: ntsecapi.h:497
LARGE_INTEGER RenewTime
Definition: ntsecapi.h:499
UNICODE_STRING ServerRealm
Definition: ntsecapi.h:496
LARGE_INTEGER EndTime
Definition: ntsecapi.h:498
UNICODE_STRING ServerName
Definition: ntsecapi.h:495
UNICODE_STRING ClientName
Definition: ntsecapi.h:492
LARGE_INTEGER RenewTime
Definition: ntsecapi.h:485
LARGE_INTEGER StartTime
Definition: ntsecapi.h:483
UNICODE_STRING ServerName
Definition: ntsecapi.h:481
UNICODE_STRING RealmName
Definition: ntsecapi.h:482
LARGE_INTEGER EndTime
Definition: ntsecapi.h:484
LARGE_INTEGER LastUpdateTime
Definition: ntsecapi.h:672
LARGE_INTEGER LastFailedLogon
Definition: ntsecapi.h:276
LARGE_INTEGER LastSuccessfulLogon
Definition: ntsecapi.h:275
ULONG FailedAttemptCountSinceLastSuccessfulLogon
Definition: ntsecapi.h:277
PVOID SecurityQualityOfService
Definition: ntsecapi.h:183
PLSA_UNICODE_STRING ObjectName
Definition: ntsecapi.h:180
SID_NAME_USE Use
Definition: ntsecapi.h:416
SID_NAME_USE Use
Definition: ntsecapi.h:411
HANDLE RootDirectory
Definition: umtypes.h:186
PVOID SecurityQualityOfService
Definition: umtypes.h:190
PUNICODE_STRING ObjectName
Definition: umtypes.h:187
PVOID SecurityDescriptor
Definition: umtypes.h:189
LSA_UNICODE_STRING DomainName
Definition: ntsecapi.h:566
PPOLICY_AUDIT_EVENT_OPTIONS EventAuditingOptions
Definition: ntsecapi.h:562
LSA_UNICODE_STRING Name
Definition: ntsecapi.h:574
LSA_UNICODE_STRING DnsDomainName
Definition: ntsecapi.h:575
LSA_UNICODE_STRING DnsForestName
Definition: ntsecapi.h:576
POLICY_LSA_SERVER_ROLE LsaServerRole
Definition: ntsecapi.h:584
LARGE_INTEGER DatabaseCreationTime
Definition: ntsecapi.h:595
LARGE_INTEGER ModifiedId
Definition: ntsecapi.h:594
LSA_UNICODE_STRING Name
Definition: ntsecapi.h:570
LSA_UNICODE_STRING Upn
Definition: ntsecapi.h:315
LSA_LAST_INTER_LOGON_INFO LastLogonInfo
Definition: ntsecapi.h:294
LSA_UNICODE_STRING LogonScript
Definition: ntsecapi.h:295
LSA_UNICODE_STRING HomeDirectory
Definition: ntsecapi.h:297
LARGE_INTEGER PasswordLastSet
Definition: ntsecapi.h:301
LSA_UNICODE_STRING DnsDomainName
Definition: ntsecapi.h:314
LSA_UNICODE_STRING LogonDomain
Definition: ntsecapi.h:307
LARGE_INTEGER KickOffTime
Definition: ntsecapi.h:300
LARGE_INTEGER PasswordMustChange
Definition: ntsecapi.h:303
LSA_UNICODE_STRING LogonServer
Definition: ntsecapi.h:313
LSA_UNICODE_STRING UserName
Definition: ntsecapi.h:306
LSA_UNICODE_STRING AuthenticationPackage
Definition: ntsecapi.h:308
LSA_UNICODE_STRING HomeDirectoryDrive
Definition: ntsecapi.h:298
LARGE_INTEGER LogoffTime
Definition: ntsecapi.h:299
LSA_UNICODE_STRING ProfilePath
Definition: ntsecapi.h:296
LARGE_INTEGER PasswordCanChange
Definition: ntsecapi.h:302
ULONG_PTR dwLower
Definition: sspi.h:53
ULONG_PTR dwUpper
Definition: sspi.h:54
PLSA_AUTH_INFORMATION IncomingPreviousAuthenticationInformation
Definition: ntsecapi.h:680
PLSA_AUTH_INFORMATION OutgoingPreviousAuthenticationInformation
Definition: ntsecapi.h:683
PLSA_AUTH_INFORMATION IncomingAuthenticationInformation
Definition: ntsecapi.h:679
PLSA_AUTH_INFORMATION OutgoingAuthenticationInformation
Definition: ntsecapi.h:682
LSA_UNICODE_STRING FlatName
Definition: ntsecapi.h:665
LSA_UNICODE_STRING Name
Definition: ntsecapi.h:664
USHORT MaximumLength
Definition: env_spec_w32.h:370
uint16_t * PWSTR
Definition: typedefs.h:56
uint32_t * PULONG
Definition: typedefs.h:59
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
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_ WDFDMATRANSACTION _In_ size_t MaximumLength
#define WINADVAPI
Definition: winbase.h:9
#define WINAPI
Definition: msvc.h:6
struct _KERB_QUERY_TKT_CACHE_REQUEST KERB_QUERY_TKT_CACHE_REQUEST
struct _AUDIT_POLICY_INFORMATION * PAUDIT_POLICY_INFORMATION
struct _KERB_RETRIEVE_TKT_RESPONSE KERB_RETRIEVE_TKT_RESPONSE
struct _KERB_EXTERNAL_NAME * PKERB_EXTERNAL_NAME
struct _KERB_CRYPTO_KEY * PKERB_CRYPTO_KEY
struct _KERB_RETRIEVE_TKT_RESPONSE * PKERB_RETRIEVE_TKT_RESPONSE
struct _NEGOTIATE_CALLER_NAME_REQUEST * PNEGOTIATE_CALLER_NAME_REQUEST
struct _KERB_RETRIEVE_TKT_REQUEST KERB_RETRIEVE_TKT_REQUEST
struct _KERB_TICKET_CACHE_INFO_EX2 KERB_TICKET_CACHE_INFO_EX2
struct _KERB_QUERY_TKT_CACHE_RESPONSE KERB_QUERY_TKT_CACHE_RESPONSE
struct _KERB_QUERY_TKT_CACHE_EX_RESPONSE * PKERB_QUERY_TKT_CACHE_EX_RESPONSE
struct _NEGOTIATE_CALLER_NAME_REQUEST NEGOTIATE_CALLER_NAME_REQUEST
struct _KERB_PURGE_TKT_CACHE_REQUEST KERB_PURGE_TKT_CACHE_REQUEST
@ UndefinedLogonType
Definition: ntsecapi.h:124
@ RemoteInteractive
Definition: ntsecapi.h:133
@ CachedUnlock
Definition: ntsecapi.h:136
@ CachedInteractive
Definition: ntsecapi.h:134
@ CachedRemoteInteractive
Definition: ntsecapi.h:135
@ NetworkCleartext
Definition: ntsecapi.h:131
@ NewCredentials
Definition: ntsecapi.h:132
struct _KERB_QUERY_TKT_CACHE_EX2_RESPONSE * PKERB_QUERY_TKT_CACHE_EX2_RESPONSE
POLICY_INFORMATION_CLASS
Definition: ntsecapi.h:212
NEGOTIATE_MESSAGES
Definition: ntsecapi.h:399
@ NegMsgReserved1
Definition: ntsecapi.h:403
@ NegTransferCredentials
Definition: ntsecapi.h:402
@ NegCallPackageMax
Definition: ntsecapi.h:404
@ NegGetCallerName
Definition: ntsecapi.h:401
@ NegEnumPackagePrefixes
Definition: ntsecapi.h:400
struct _KERB_QUERY_TKT_CACHE_RESPONSE * PKERB_QUERY_TKT_CACHE_RESPONSE
_KERB_PROTOCOL_MESSAGE_TYPE
Definition: ntsecapi.h:444
@ KerbQueryKdcProxyCacheMessage
Definition: ntsecapi.h:468
@ KerbQueryDomainExtendedPoliciesMessage
Definition: ntsecapi.h:475
@ KerbChangeMachinePasswordMessage
Definition: ntsecapi.h:447
@ KerbAddExtraCredentialsExMessage
Definition: ntsecapi.h:467
@ KerbTransferCredentialsMessage
Definition: ntsecapi.h:464
@ KerbPurgeTicketCacheExMessage
Definition: ntsecapi.h:460
@ KerbPurgeTicketCacheMessage
Definition: ntsecapi.h:451
@ KerbSetPasswordExMessage
Definition: ntsecapi.h:457
@ KerbQuerySupplementalCredentialsMessage
Definition: ntsecapi.h:463
@ KerbRetrieveTicketMessage
Definition: ntsecapi.h:449
@ KerbDecryptDataMessage
Definition: ntsecapi.h:454
@ KerbQueryTicketCacheEx2Message
Definition: ntsecapi.h:465
@ KerbSetPasswordMessage
Definition: ntsecapi.h:456
@ KerbRefreshSmartcardCredentialsMessage
Definition: ntsecapi.h:461
@ KerbDebugRequestMessage
Definition: ntsecapi.h:445
@ KerbQueryTicketCacheMessage
Definition: ntsecapi.h:446
@ KerbQueryS4U2ProxyCacheMessage
Definition: ntsecapi.h:476
@ KerbRetrieveEncodedTicketMessage
Definition: ntsecapi.h:453
@ KerbPurgeBindingCacheMessage
Definition: ntsecapi.h:474
@ KerbAddExtraCredentialsMessage
Definition: ntsecapi.h:462
@ KerbPurgeKdcProxyCacheMessage
Definition: ntsecapi.h:469
@ KerbUpdateAddressesMessage
Definition: ntsecapi.h:450
@ KerbQueryTicketCacheEx3Message
Definition: ntsecapi.h:470
@ KerbCleanupMachinePkinitCredsMessage
Definition: ntsecapi.h:471
@ KerbVerifyCredentialsMessage
Definition: ntsecapi.h:458
@ KerbSubmitTicketMessage
Definition: ntsecapi.h:466
@ KerbVerifyPacMessage
Definition: ntsecapi.h:448
@ KerbAddBindingCacheEntryMessage
Definition: ntsecapi.h:455
@ KerbChangePasswordMessage
Definition: ntsecapi.h:452
@ KerbQueryTicketCacheExMessage
Definition: ntsecapi.h:459
@ KerbAddBindingCacheEntryExMessage
Definition: ntsecapi.h:472
@ KerbQueryBindingCacheMessage
Definition: ntsecapi.h:473
enum _KERB_PROTOCOL_MESSAGE_TYPE KERB_PROTOCOL_MESSAGE_TYPE
struct _LSA_LAST_INTER_LOGON_INFO LSA_LAST_INTER_LOGON_INFO
struct _KERB_RETRIEVE_TKT_REQUEST * PKERB_RETRIEVE_TKT_REQUEST
WINADVAPI BOOLEAN WINAPI AuditQuerySystemPolicy(const GUID *, ULONG, AUDIT_POLICY_INFORMATION **)
struct _KERB_EXTERNAL_NAME KERB_EXTERNAL_NAME
struct _KERB_TICKET_CACHE_INFO_EX3 * PKERB_TICKET_CACHE_INFO_EX3
struct _LSA_LAST_INTER_LOGON_INFO * PLSA_LAST_INTER_LOGON_INFO
struct _OBJECT_ATTRIBUTES * POBJECT_ATTRIBUTES
struct _KERB_QUERY_TKT_CACHE_EX3_RESPONSE * PKERB_QUERY_TKT_CACHE_EX3_RESPONSE
struct _KERB_QUERY_TKT_CACHE_EX_RESPONSE KERB_QUERY_TKT_CACHE_EX_RESPONSE
struct _SecHandle * PSecHandle
struct _AUDIT_POLICY_INFORMATION AUDIT_POLICY_INFORMATION
struct _KERB_TICKET_CACHE_INFO_EX * PKERB_TICKET_CACHE_INFO_EX
enum _KERB_PROTOCOL_MESSAGE_TYPE * PKERB_PROTOCOL_MESSAGE_TYPE
struct _KERB_TICKET_CACHE_INFO * PKERB_TICKET_CACHE_INFO
struct _KERB_QUERY_TKT_CACHE_EX3_RESPONSE KERB_QUERY_TKT_CACHE_EX3_RESPONSE
struct _KERB_EXTERNAL_TICKET KERB_EXTERNAL_TICKET
struct _OBJECT_ATTRIBUTES OBJECT_ATTRIBUTES
static const WCHAR MICROSOFT_KERBEROS_NAME_W[]
Definition: ntsecapi.h:423
struct _KERB_CRYPTO_KEY KERB_CRYPTO_KEY
struct _SecHandle SecHandle
struct _KERB_EXTERNAL_TICKET * PKERB_EXTERNAL_TICKET
struct _KERB_TICKET_CACHE_INFO_EX2 * PKERB_TICKET_CACHE_INFO_EX2
struct _KERB_TICKET_CACHE_INFO KERB_TICKET_CACHE_INFO
struct _KERB_PURGE_TKT_CACHE_REQUEST * PKERB_PURGE_TKT_CACHE_REQUEST
struct _KERB_TICKET_CACHE_INFO_EX KERB_TICKET_CACHE_INFO_EX
struct _KERB_QUERY_TKT_CACHE_REQUEST * PKERB_QUERY_TKT_CACHE_REQUEST
struct _NEGOTIATE_CALLER_NAME_RESPONSE * PNEGOTIATE_CALLER_NAME_RESPONSE
struct _KERB_QUERY_TKT_CACHE_EX2_RESPONSE KERB_QUERY_TKT_CACHE_EX2_RESPONSE
struct _KERB_TICKET_CACHE_INFO_EX3 KERB_TICKET_CACHE_INFO_EX3
struct _NEGOTIATE_CALLER_NAME_RESPONSE NEGOTIATE_CALLER_NAME_RESPONSE
__wchar_t WCHAR
Definition: xmlstorage.h:180