ReactOS  0.4.15-dev-3440-g915569a
lsasrv.h
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: See COPYING in the top level directory
3  * PROJECT: Local Security Authority (LSA) Server
4  * FILE: reactos/dll/win32/lsasrv/lsasrv.h
5  * PURPOSE: Common header file
6  *
7  * PROGRAMMERS: Eric Kohl
8  */
9 
10 #ifndef _LSASRV_H
11 #define _LSASRV_H
12 
13 #include <stdarg.h>
14 
15 #define WIN32_NO_STATUS
16 #define _INC_WINDOWS
17 #define COM_NO_WINDOWS_H
18 
19 #include <windef.h>
20 #include <winbase.h>
21 #include <winreg.h>
22 
23 #define NTOS_MODE_USER
24 #include <ndk/cmfuncs.h>
25 #include <ndk/exfuncs.h>
26 #include <ndk/kefuncs.h>
27 #include <ndk/mmfuncs.h>
28 #include <ndk/obfuncs.h>
29 #include <ndk/psfuncs.h>
30 #include <ndk/rtlfuncs.h>
31 #include <ndk/sefuncs.h>
32 #include <ndk/ketypes.h>
33 #include <ndk/setypes.h>
34 
35 #include <ntsam.h>
36 #include <ntlsa.h>
37 #include <sddl.h>
38 
39 #include <srmp.h>
40 
41 #include <lsass.h>
42 #include <lsa_s.h>
43 
44 #include <wine/debug.h>
46 
47 typedef enum _LSA_DB_OBJECT_TYPE
48 {
55 
56 typedef struct _LSA_DB_OBJECT
57 {
66 
67 #define LSAP_DB_SIGNATURE 0x12345678
68 
69 #define POLICY_AUDIT_EVENT_TYPE_COUNT (AuditCategoryAccountLogon - AuditCategorySystem + 1)
71 {
76 
77 typedef struct _LSAP_LOGON_CONTEXT
78 {
84 
85 typedef struct _SAMPR_ULONG_ARRAY
86 {
87  unsigned long Count;
88  unsigned long *Element;
90 
92 
98 
99 extern PSID BuiltinDomainSid;
101 extern PSID AccountDomainSid;
103 
104 extern PSID LsapWorldSid;
105 extern PSID LsapNetworkSid;
106 extern PSID LsapBatchSid;
107 extern PSID LsapInteractiveSid;
108 extern PSID LsapServiceSid;
109 extern PSID LsapLocalSystemSid;
111 
112 
113 /* authpackage.c */
114 NTSTATUS
116 
117 NTSTATUS
119  PLSAP_LOGON_CONTEXT LogonContext);
120 
121 NTSTATUS
123  PLSAP_LOGON_CONTEXT LogonContext);
124 
125 NTSTATUS
126 LsapLogonUser(PLSA_API_MSG RequestMsg,
127  PLSAP_LOGON_CONTEXT LogonContext);
128 
129 VOID
131  _In_ PLUID LogonId);
132 
133 
134 /* authport.c */
135 NTSTATUS
137 
138 /* database.c */
139 NTSTATUS
141 
142 NTSTATUS
144  IN LPWSTR ContainerName,
146  IN LSA_DB_OBJECT_TYPE HandleType,
148  IN BOOLEAN Trusted,
149  OUT PLSA_DB_OBJECT *DbObject);
150 
151 NTSTATUS
152 LsapOpenDbObject(IN PLSA_DB_OBJECT ParentObject,
153  IN LPWSTR ContainerName,
157  IN BOOLEAN Trusted,
158  OUT PLSA_DB_OBJECT *DbObject);
159 
160 NTSTATUS
162  IN LSA_DB_OBJECT_TYPE HandleType,
164  OUT PLSA_DB_OBJECT *DbObject);
165 
166 NTSTATUS
168 
169 NTSTATUS
171 
172 NTSTATUS
174  LPWSTR AttributeName,
176  PULONG AttributeSize);
177 
178 NTSTATUS
180  LPWSTR AttributeName,
182  ULONG AttributeSize);
183 
184 NTSTATUS
186  LPWSTR AttributeName);
187 
188 /* dssetup.c */
189 VOID
191 
192 /* lookup.c */
193 NTSTATUS
195 
196 ULONG
198 
199 NTSTATUS
202  PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
203  PLSAPR_TRANSLATED_SIDS_EX2 TranslatedSids,
204  LSAP_LOOKUP_LEVEL LookupLevel,
205  DWORD *MappedCount,
206  DWORD LookupOptions,
207  DWORD ClientRevision);
208 
209 NTSTATUS
211  PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
212  PLSAPR_TRANSLATED_NAMES_EX TranslatedNames,
213  LSAP_LOOKUP_LEVEL LookupLevel,
214  DWORD *MappedCount,
215  DWORD LookupOptions,
216  DWORD ClientRevision);
217 
218 /* lsarpc.c */
219 NTSTATUS
221 
222 /* notify.c */
223 VOID
225 
226 NTSTATUS
228  PLSA_API_MSG RequestMsg);
229 
230 VOID
233 
234 /* policy.c */
235 NTSTATUS
236 LsarQueryAuditLog(PLSA_DB_OBJECT PolicyObject,
237  PLSAPR_POLICY_INFORMATION *PolicyInformation);
238 
239 NTSTATUS
241  PLSAPR_POLICY_INFORMATION *PolicyInformation);
242 
243 NTSTATUS
245  PLSAPR_POLICY_INFORMATION *PolicyInformation);
246 
247 NTSTATUS
249  PLSAPR_POLICY_INFORMATION *PolicyInformation);
250 
251 NTSTATUS
253  PLSAPR_POLICY_INFORMATION *PolicyInformation);
254 
255 NTSTATUS
257  PLSAPR_POLICY_INFORMATION *PolicyInformation);
258 
259 NTSTATUS
261  PLSAPR_POLICY_INFORMATION *PolicyInformation);
262 
263 NTSTATUS
265  PLSAPR_POLICY_INFORMATION *PolicyInformation);
266 
267 NTSTATUS
269  PLSAPR_POLICY_INFORMATION *PolicyInformation);
270 
271 NTSTATUS
273  PLSAPR_POLICY_INFORMATION *PolicyInformation);
274 
275 NTSTATUS
277  PLSAPR_POLICY_INFORMATION *PolicyInformation);
278 
279 NTSTATUS
281  PLSAPR_POLICY_INFORMATION *PolicyInformation);
282 
283 NTSTATUS
285  PLSAPR_POLICY_INFORMATION *PolicyInformation);
286 
287 NTSTATUS
288 LsarSetAuditLog(PLSA_DB_OBJECT PolicyObject,
290 
291 NTSTATUS
294 
295 NTSTATUS
298 
299 NTSTATUS
302 
303 NTSTATUS
304 LsarSetServerRole(PLSA_DB_OBJECT PolicyObject,
306 
307 NTSTATUS
310 
311 NTSTATUS
314 
315 NTSTATUS
318 
319 NTSTATUS
320 LsarSetAuditFull(PLSA_DB_OBJECT PolicyObject,
322 
323 NTSTATUS
324 LsarSetDnsDomain(PLSA_DB_OBJECT PolicyObject,
326 
327 NTSTATUS
330 
331 NTSTATUS
334 
335 /* privileges.c */
336 NTSTATUS
339 
340 NTSTATUS
342  USHORT ClientLanguage,
343  USHORT ClientSystemDefaultLanguage,
344  PRPC_UNICODE_STRING *DisplayName,
345  USHORT *LanguageReturned);
346 
347 PLUID
350 
351 NTSTATUS
352 LsarpEnumeratePrivileges(DWORD *EnumerationContext,
353  PLSAPR_PRIVILEGE_ENUM_BUFFER EnumerationBuffer,
354  DWORD PreferedMaximumLength);
355 
356 NTSTATUS
359 
363 
364 /* registry.h */
365 NTSTATUS
367 
368 NTSTATUS
369 LsapRegCreateKey(IN HANDLE ParentKeyHandle,
373 
374 NTSTATUS
375 LsapRegDeleteSubKey(IN HANDLE ParentKeyHandle,
376  IN LPCWSTR KeyName);
377 
378 NTSTATUS
380 
381 NTSTATUS
383  IN ULONG Index,
384  IN ULONG Length,
385  OUT LPWSTR Buffer);
386 
387 NTSTATUS
388 LsapRegOpenKey(IN HANDLE ParentKeyHandle,
392 
393 NTSTATUS
395  OUT PULONG SubKeyCount,
396  OUT PULONG MaxSubKeyNameLength,
397  OUT PULONG ValueCount);
398 
399 NTSTATUS
402 
403 NTSTATUS
405  IN ULONG Index,
406  OUT LPWSTR Name,
407  IN OUT PULONG NameLength,
411 
412 NTSTATUS
418 
419 NTSTATUS
422  IN ULONG Type,
423  IN LPVOID Data,
425 
426 /* security.c */
427 NTSTATUS
429  PULONG PolicySdSize);
430 
431 NTSTATUS
433  PULONG AccountSdSize);
434 
435 NTSTATUS
437  PULONG SecretSdSize);
438 
439 /* session.c */
440 VOID
442 
443 NTSTATUS
444 NTAPI
446 
447 NTSTATUS
448 NTAPI
450 
451 NTSTATUS
452 NTAPI
456  _In_ PLSA_STRING PrimaryKeyValue,
457  _In_ PLSA_STRING Credential);
458 
459 NTSTATUS
460 NTAPI
464  _Inout_ PULONG QueryContext,
465  _In_ BOOLEAN RetrieveAllCredentials,
466  _Inout_ PLSA_STRING PrimaryKeyValue,
467  _Out_ PULONG PrimaryKeyLength,
468  _Out_ PLSA_STRING Credentials);
469 
470 NTSTATUS
471 NTAPI
475  _In_ PLSA_STRING PrimaryKeyValue);
476 
477 NTSTATUS
481  _In_ PUNICODE_STRING UserName,
482  _In_ PUNICODE_STRING LogonDomain,
483  _In_ PSID Sid);
484 
485 NTSTATUS
487 
488 NTSTATUS
490 
491 /* srm.c */
492 NTSTATUS
494 
495 NTSTATUS
497  PLUID LogonId);
498 
499 NTSTATUS
501  PLUID LogonId);
502 
503 /* utils.c */
504 INT
506  UINT uId,
508  INT nBufferMax);
509 
510 INT
513  _In_ UINT uId,
514  _In_ USHORT usLanguage);
515 
516 INT
519  _In_ UINT uId,
520  _In_ USHORT usLanguage,
522  _Out_ INT nBufferMax);
523 
524 PSID
526  PSID SrcSid,
527  ULONG Rid);
528 
529 #endif /* _LSASRV_H */
PSID LsapLocalSystemSid
Definition: lookup.c:83
SID_IDENTIFIER_AUTHORITY CreatorSidAuthority
Definition: database.c:20
NTSTATUS LsarQueryModification(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_INFORMATION *PolicyInformation)
Definition: policy.c:478
ACCESS_MASK Access
Definition: lsasrv.h:61
NTSTATUS LsapRmInitializeServer(VOID)
Definition: srm.c:167
NTSTATUS LsapRegDeleteSubKey(IN HANDLE ParentKeyHandle, IN LPCWSTR KeyName)
Definition: registry.c:59
unsigned long * Element
Definition: lsasrv.h:88
struct _LSAP_POLICY_AUDIT_EVENTS_DATA * PLSAP_POLICY_AUDIT_EVENTS_DATA
ObjectType
Definition: metafile.c:80
VOID DsSetupInit(VOID)
Definition: dssetup.c:22
WINE_DEFAULT_DEBUG_CHANNEL(lsasrv)
#define IN
Definition: typedefs.h:39
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2654
INT LsapLoadString(HINSTANCE hInstance, UINT uId, LPWSTR lpBuffer, INT nBufferMax)
Definition: utils.c:17
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
NTSTATUS LsapValidateDbObject(IN LSAPR_HANDLE Handle, IN LSA_DB_OBJECT_TYPE HandleType, IN ACCESS_MASK GrantedAccess, OUT PLSA_DB_OBJECT *DbObject)
BOOL TrustedCaller
Definition: lsasrv.h:82
NTSTATUS LsapCallAuthenticationPackage(PLSA_API_MSG RequestMsg, PLSAP_LOGON_CONTEXT LogonContext)
Definition: authpackage.c:564
#define _Inout_
Definition: ms_sal.h:378
NTSTATUS LsapLookupSids(PLSAPR_SID_ENUM_BUFFER SidEnumBuffer, PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains, PLSAPR_TRANSLATED_NAMES_EX TranslatedNames, LSAP_LOOKUP_LEVEL LookupLevel, DWORD *MappedCount, DWORD LookupOptions, DWORD ClientRevision)
Definition: lookup.c:2412
NTSTATUS LsapRegQueryKeyInfo(IN HANDLE KeyHandle, OUT PULONG SubKeyCount, OUT PULONG MaxSubKeyNameLength, OUT PULONG ValueCount)
Definition: registry.c:176
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
Definition: ndis.h:4711
NTSTATUS LsapSetObjectAttribute(PLSA_DB_OBJECT DbObject, LPWSTR AttributeName, LPVOID AttributeData, ULONG AttributeSize)
Definition: database.c:961
#define _Out_
Definition: ms_sal.h:345
NTSTATUS LsarpEnumeratePrivileges(DWORD *EnumerationContext, PLSAPR_PRIVILEGE_ENUM_BUFFER EnumerationBuffer, DWORD PreferedMaximumLength)
Definition: privileges.c:246
NTSTATUS LsarQueryDefaultQuota(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_INFORMATION *PolicyInformation)
Definition: policy.c:446
PSID LsapBatchSid
Definition: lookup.c:80
struct _LSAP_LOGON_CONTEXT * PLSAP_LOGON_CONTEXT
PWSTR Names[]
NTSTATUS NTAPI LsapCreateLogonSession(IN PLUID LogonId)
Definition: session.c:159
ACCESS_MASK LsapLookupAccountRightValue(IN PRPC_UNICODE_STRING Name)
Definition: privileges.c:380
PSID LsapInteractiveSid
Definition: lookup.c:81
VOID LsapInitNotificationList(VOID)
Definition: notify.c:28
struct _LSAP_POLICY_AUDIT_EVENTS_DATA LSAP_POLICY_AUDIT_EVENTS_DATA
LONG NTSTATUS
Definition: precomp.h:26
struct _LSA_DB_OBJECT * ParentObject
Definition: lsasrv.h:64
NTSTATUS LsapSetLogonSessionData(_In_ PLUID LogonId, _In_ ULONG LogonType, _In_ PUNICODE_STRING UserName, _In_ PUNICODE_STRING LogonDomain, _In_ PSID Sid)
Definition: session.c:67
struct _SAMPR_ULONG_ARRAY * PSAMPR_ULONG_ARRAY
NTSTATUS NTAPI LsapDeleteLogonSession(IN PLUID LogonId)
Definition: session.c:201
NTSTATUS LsarQueryAuditEvents(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_INFORMATION *PolicyInformation)
Definition: policy.c:70
NTSTATUS LsarSetReplicaSource(PLSA_DB_OBJECT PolicyObject, PPOLICY_LSA_REPLICA_SRCE_INFO Info)
Definition: policy.c:936
LSA_DB_OBJECT_TYPE ObjectType
Definition: lsasrv.h:59
NTSTATUS LsarpLookupPrivilegeName(PLUID Value, PRPC_UNICODE_STRING *Name)
Definition: privileges.c:80
HANDLE ClientProcessHandle
Definition: lsasrv.h:80
NTSTATUS LsarSetAuditEvents(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_AUDIT_EVENTS_INFO Info)
Definition: policy.c:792
DWORD AuditEvents[POLICY_AUDIT_EVENT_TYPE_COUNT]
Definition: lsasrv.h:73
NTSTATUS LsapRegDeleteKey(IN HANDLE KeyHandle)
Definition: registry.c:89
ULONG LsapGetRelativeIdFromSid(PSID Sid)
Definition: lookup.c:1038
INT LsapLoadStringEx(_In_ HINSTANCE hInstance, _In_ UINT uId, _In_ USHORT usLanguage, _Out_ LPWSTR lpBuffer, _Out_ INT nBufferMax)
Definition: utils.c:99
_In_ PVOID _Out_opt_ PULONG_PTR _Outptr_opt_ PCUNICODE_STRING * ObjectName
Definition: cmfuncs.h:62
int32_t INT
Definition: typedefs.h:58
NTSTATUS LsapRegCloseKey(IN HANDLE KeyHandle)
Definition: registry.c:23
NTSTATUS LsapDeleteDbObject(IN PLSA_DB_OBJECT DbObject)
Definition: database.c:901
BOOLEAN Trusted
Definition: lsasrv.h:63
struct _LSA_DB_OBJECT LSA_DB_OBJECT
NTSTATUS LsarQueryDnsDomain(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_INFORMATION *PolicyInformation)
Definition: policy.c:542
SID_IDENTIFIER_AUTHORITY LocalSidAuthority
Definition: database.c:19
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
Definition: wdfchildlist.h:683
VOID LsapNotifyPolicyChange(POLICY_NOTIFICATION_INFORMATION_CLASS InformationClass)
Definition: notify.c:188
SID_IDENTIFIER_AUTHORITY WorldSidAuthority
Definition: database.c:18
NTSTATUS LsarSetDefaultQuota(PLSA_DB_OBJECT PolicyObject, PPOLICY_DEFAULT_QUOTA_INFO Info)
Definition: policy.c:945
enum _LSAP_LOOKUP_LEVEL LSAP_LOOKUP_LEVEL
INT LsapGetResourceStringLengthEx(_In_ HINSTANCE hInstance, _In_ UINT uId, _In_ USHORT usLanguage)
Definition: utils.c:64
NTSTATUS NTAPI LsapGetCredentials(_In_ PLUID LogonId, _In_ ULONG AuthenticationPackage, _Inout_ PULONG QueryContext, _In_ BOOLEAN RetrieveAllCredentials, _Inout_ PLSA_STRING PrimaryKeyValue, _Out_ PULONG PrimaryKeyLength, _Out_ PLSA_STRING Credentials)
Definition: session.c:272
HINSTANCE hInstance
Definition: charmap.c:20
PSID LsapServiceSid
Definition: lookup.c:82
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
NTSTATUS LsapRmDeleteLogonSession(PLUID LogonId)
Definition: srm.c:285
NTSTATUS LsarSetAccountDomain(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_ACCOUNT_DOM_INFO Info)
Definition: policy.c:876
NTSTATUS LsapCreatePolicySd(PSECURITY_DESCRIPTOR *PolicySd, PULONG PolicySdSize)
Definition: security.c:14
unsigned int BOOL
Definition: ntddk_ex.h:94
HANDLE KeyHandle
Definition: lsasrv.h:62
NTSTATUS StartAuthenticationPort(VOID)
Definition: authport.c:327
PSID LsapAdministratorsSid
Definition: lookup.c:84
NTSTATUS LsapRmCreateLogonSession(PLUID LogonId)
Definition: srm.c:245
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
Definition: db.cpp:175
NTSTATUS LsarQueryAccountDomain(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_INFORMATION *PolicyInformation)
Definition: policy.c:289
NTSTATUS LsapInitDatabase(VOID)
Definition: database.c:539
enum _POLICY_NOTIFICATION_INFORMATION_CLASS POLICY_NOTIFICATION_INFORMATION_CLASS
unsigned char BOOLEAN
NTSTATUS LsapInitSids(VOID)
Definition: lookup.c:182
NTSTATUS LsapLookupAuthenticationPackage(PLSA_API_MSG RequestMsg, PLSAP_LOGON_CONTEXT LogonContext)
Definition: authpackage.c:510
#define _In_
Definition: ms_sal.h:308
_In_ ULONG _In_ ACCESS_MASK _In_ PSID Sid
Definition: rtlfuncs.h:1103
_In_ ULONG _In_opt_ WDFREQUEST _In_opt_ PVOID _In_ size_t _In_ PVOID _In_ size_t _Out_ size_t * DataLength
Definition: cdrom.h:1437
Definition: bufpool.h:45
struct _LSAP_LOGON_CONTEXT LSAP_LOGON_CONTEXT
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
Definition: wdfdevice.h:2697
unsigned long Count
Definition: lsasrv.h:87
PLUID LsarpLookupPrivilegeValue(IN PRPC_UNICODE_STRING Name)
Definition: privileges.c:227
NTSTATUS LsapCreateAccountSd(PSECURITY_DESCRIPTOR *AccountSd, PULONG AccountSdSize)
Definition: security.c:268
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:406
NTSTATUS LsarSetPrimaryDomain(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_PRIMARY_DOM_INFO Info)
Definition: policy.c:829
NTSTATUS LsarQueryServerRole(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_INFORMATION *PolicyInformation)
Definition: policy.c:398
NTSTATUS NTAPI LsapAddCredential(_In_ PLUID LogonId, _In_ ULONG AuthenticationPackage, _In_ PLSA_STRING PrimaryKeyValue, _In_ PLSA_STRING Credential)
Definition: session.c:259
int Count
Definition: noreturn.cpp:7
UNICODE_STRING BuiltinDomainName
Definition: database.c:25
PSID LsapWorldSid
Definition: lookup.c:78
NTSTATUS LsarStartRpcServer(VOID)
Definition: lsarpc.c:40
_In_ WDFCOLLECTION _In_ ULONG Index
NTSTATUS LsarQueryAuditLog(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_INFORMATION *PolicyInformation)
Definition: policy.c:38
NTSTATUS LsapEnumLogonSessions(IN OUT PLSA_API_MSG RequestMsg)
Definition: session.c:299
NTSTATUS LsapGetLogonSessionData(IN OUT PLSA_API_MSG RequestMsg)
Definition: session.c:395
Type
Definition: Type.h:6
unsigned long DWORD
Definition: ntddk_ex.h:95
NTSTATUS LsarSetLocalAccountDomain(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_ACCOUNT_DOM_INFO Info)
Definition: policy.c:1026
PSID AccountDomainSid
Definition: database.c:24
SID_IDENTIFIER_AUTHORITY NtAuthority
Definition: database.c:21
ULONG RefCount
Definition: lsasrv.h:60
ULONG Signature
Definition: lsasrv.h:58
NTSTATUS LsapCloseDbObject(IN PLSA_DB_OBJECT DbObject)
NTSTATUS LsapOpenDbObject(IN PLSA_DB_OBJECT ParentObject, IN LPWSTR ContainerName, IN LPWSTR ObjectName, IN LSA_DB_OBJECT_TYPE ObjectType, IN ACCESS_MASK DesiredAccess, IN BOOLEAN Trusted, OUT PLSA_DB_OBJECT *DbObject)
Definition: database.c:712
NTSTATUS LsarSetModification(PLSA_DB_OBJECT PolicyObject, PPOLICY_MODIFICATION_INFO Info)
Definition: policy.c:958
VOID LsapInitLogonSessions(VOID)
Definition: session.c:36
NTSTATUS LsarQueryLocalAccountDomain(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_INFORMATION *PolicyInformation)
Definition: policy.c:769
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
Definition: wdfregistry.h:240
enum _LSA_DB_OBJECT_TYPE * PLSA_DB_OBJECT_TYPE
UNICODE_STRING AccountDomainName
Definition: database.c:26
NTSTATUS LsarSetServerRole(PLSA_DB_OBJECT PolicyObject, PPOLICY_LSA_SERVER_ROLE_INFO Info)
Definition: policy.c:923
ULONG AuthenticationPackage
Definition: logon.c:18
Definition: typedefs.h:119
NTSTATUS LsarSetAuditFull(PLSA_DB_OBJECT PolicyObject, PPOLICY_AUDIT_FULL_QUERY_INFO Info)
Definition: policy.c:971
NTSTATUS LsapDeleteObjectAttribute(PLSA_DB_OBJECT DbObject, LPWSTR AttributeName)
Definition: database.c:1082
NTSTATUS LsapRegOpenKey(IN HANDLE ParentKeyHandle, IN LPCWSTR KeyName, IN ACCESS_MASK DesiredAccess, OUT HANDLE KeyHandle)
Definition: registry.c:153
NTSTATUS LsapLookupAccountRightName(ULONG RightValue, PRPC_UNICODE_STRING *Name)
Definition: privileges.c:343
LIST_ENTRY Entry
Definition: lsasrv.h:79
enum _LSA_DB_OBJECT_TYPE LSA_DB_OBJECT_TYPE
NTSTATUS LsarQueryReplicaSource(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_INFORMATION *PolicyInformation)
Definition: policy.c:436
NT_PRODUCT_TYPE LsapProductType
Definition: lsasrv.c:13
NTSTATUS LsarQueryPdAccount(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_INFORMATION *PolicyInformation)
Definition: policy.c:267
NTSTATUS LsarSetAuditLog(PLSA_DB_OBJECT PolicyObject, PPOLICY_AUDIT_LOG_INFO Info)
Definition: policy.c:779
SID_IDENTIFIER_AUTHORITY NullSidAuthority
Definition: database.c:17
NTSTATUS LsapCreateDbObject(IN PLSA_DB_OBJECT ParentObject, IN LPWSTR ContainerName, IN LPWSTR ObjectName, IN LSA_DB_OBJECT_TYPE HandleType, IN ACCESS_MASK DesiredAccess, IN BOOLEAN Trusted, OUT PLSA_DB_OBJECT *DbObject)
Definition: database.c:592
NTSTATUS LsapRegQueryValue(IN HANDLE KeyHandle, IN LPWSTR ValueName, OUT PULONG Type OPTIONAL, OUT LPVOID Data OPTIONAL, IN OUT PULONG DataLength OPTIONAL)
Definition: registry.c:331
NTSTATUS LsarQueryPrimaryDomain(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_INFORMATION *PolicyInformation)
Definition: policy.c:157
NTSTATUS LsapRegDeleteValue(IN HANDLE KeyHandle, IN LPWSTR ValueName)
Definition: registry.c:211
unsigned short USHORT
Definition: pedump.c:61
_IRQL_requires_same_ _In_ PLSA_STRING _In_ SECURITY_LOGON_TYPE LogonType
unsigned int * PULONG
Definition: retypes.h:1
VOID LsapTerminateLogon(_In_ PLUID LogonId)
Definition: authpackage.c:545
unsigned int UINT
Definition: ndis.h:50
_IRQL_requires_same_ _In_ PLSA_STRING _In_ SECURITY_LOGON_TYPE _In_ ULONG _In_ ULONG _In_opt_ PTOKEN_GROUPS _In_ PTOKEN_SOURCE _Out_ PVOID _Out_ PULONG _Inout_ PLUID LogonId
NTSTATUS LsapRegisterNotification(PLSA_API_MSG RequestMsg)
Definition: notify.c:159
struct _SAMPR_ULONG_ARRAY SAMPR_ULONG_ARRAY
NTSTATUS LsarQueryAuditFull(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_INFORMATION *PolicyInformation)
Definition: policy.c:510
NTSTATUS LsarSetDnsDomain(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_DNS_DOMAIN_INFO Info)
Definition: policy.c:1008
NTSTATUS LsarSetDnsDomainInt(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_DNS_DOMAIN_INFO Info)
Definition: policy.c:1017
NTSTATUS LsapRegEnumerateValue(IN HANDLE KeyHandle, IN ULONG Index, OUT LPWSTR Name, IN OUT PULONG NameLength, OUT PULONG Type OPTIONAL, OUT PVOID Data OPTIONAL, IN OUT PULONG DataLength OPTIONAL)
Definition: registry.c:225
PSID LsapAppendRidToSid(PSID SrcSid, ULONG Rid)
Definition: utils.c:152
HANDLE ConnectionHandle
Definition: lsasrv.h:81
_In_ HANDLE Handle
Definition: extypes.h:390
#define OUT
Definition: typedefs.h:40
enum _NT_PRODUCT_TYPE NT_PRODUCT_TYPE
NTSTATUS NTAPI LsapDeleteCredential(_In_ PLUID LogonId, _In_ ULONG AuthenticationPackage, _In_ PLSA_STRING PrimaryKeyValue)
Definition: session.c:288
NTSTATUS LsarQueryDnsDomainInt(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_INFORMATION *PolicyInformation)
Definition: policy.c:759
unsigned int ULONG
Definition: retypes.h:1
NTSTATUS LsapRegCreateKey(IN HANDLE ParentKeyHandle, IN LPCWSTR KeyName, IN ACCESS_MASK DesiredAccess, OUT HANDLE KeyHandle)
Definition: registry.c:30
NTSTATUS LsapLogonUser(PLSA_API_MSG RequestMsg, PLSAP_LOGON_CONTEXT LogonContext)
Definition: authpackage.c:1394
struct _LSA_DB_OBJECT * PLSA_DB_OBJECT
PSID BuiltinDomainSid
Definition: globals.c:16
NTSTATUS LsapCreateSecretSd(PSECURITY_DESCRIPTOR *SecretSd, PULONG SecretSdSize)
Definition: security.c:436
NTSTATUS LsapInitAuthPackages(VOID)
Definition: authpackage.c:474
WCHAR * LPWSTR
Definition: xmlstorage.h:184
_In_ FILTER_INFORMATION_CLASS InformationClass
Definition: fltkernel.h:1713
_LSA_DB_OBJECT_TYPE
Definition: lsasrv.h:47
_In_ PSECURITY_SUBJECT_CONTEXT _In_ BOOLEAN _In_ ACCESS_MASK _In_ ACCESS_MASK _Outptr_opt_ PPRIVILEGE_SET _In_ PGENERIC_MAPPING _In_ KPROCESSOR_MODE _Out_ PACCESS_MASK GrantedAccess
Definition: sefuncs.h:13
NTSTATUS LsapLookupNames(DWORD Count, PRPC_UNICODE_STRING Names, PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains, PLSAPR_TRANSLATED_SIDS_EX2 TranslatedSids, LSAP_LOOKUP_LEVEL LookupLevel, DWORD *MappedCount, DWORD LookupOptions, DWORD ClientRevision)
Definition: lookup.c:1813
NTSTATUS LsapGetObjectAttribute(PLSA_DB_OBJECT DbObject, LPWSTR AttributeName, LPVOID AttributeData, PULONG AttributeSize)
Definition: database.c:1012
PSID LsapNetworkSid
Definition: lookup.c:79
ULONG ACCESS_MASK
Definition: nt_native.h:40
NTSTATUS LsapRegEnumerateSubKey(IN HANDLE KeyHandle, IN ULONG Index, IN ULONG Length, OUT LPWSTR Buffer)
Definition: registry.c:96
NTSTATUS LsarpLookupPrivilegeDisplayName(PRPC_UNICODE_STRING Name, USHORT ClientLanguage, USHORT ClientSystemDefaultLanguage, PRPC_UNICODE_STRING *DisplayName, USHORT *LanguageReturned)
Definition: privileges.c:125
#define POLICY_AUDIT_EVENT_TYPE_COUNT
Definition: lsasrv.h:69
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
NTSTATUS LsapRegSetValue(IN HANDLE KeyHandle, IN LPWSTR ValueName, IN ULONG Type, IN LPVOID Data, IN ULONG DataLength)