ReactOS  0.4.15-dev-1392-g3014417
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 /* authport.c */
130 NTSTATUS
132 
133 /* database.c */
134 NTSTATUS
136 
137 NTSTATUS
139  IN LPWSTR ContainerName,
141  IN LSA_DB_OBJECT_TYPE HandleType,
143  IN BOOLEAN Trusted,
144  OUT PLSA_DB_OBJECT *DbObject);
145 
146 NTSTATUS
147 LsapOpenDbObject(IN PLSA_DB_OBJECT ParentObject,
148  IN LPWSTR ContainerName,
152  IN BOOLEAN Trusted,
153  OUT PLSA_DB_OBJECT *DbObject);
154 
155 NTSTATUS
157  IN LSA_DB_OBJECT_TYPE HandleType,
159  OUT PLSA_DB_OBJECT *DbObject);
160 
161 NTSTATUS
163 
164 NTSTATUS
166 
167 NTSTATUS
169  LPWSTR AttributeName,
171  PULONG AttributeSize);
172 
173 NTSTATUS
175  LPWSTR AttributeName,
177  ULONG AttributeSize);
178 
179 NTSTATUS
181  LPWSTR AttributeName);
182 
183 /* dssetup.c */
184 VOID
186 
187 /* lookup.c */
188 NTSTATUS
190 
191 ULONG
193 
194 NTSTATUS
197  PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
198  PLSAPR_TRANSLATED_SIDS_EX2 TranslatedSids,
199  LSAP_LOOKUP_LEVEL LookupLevel,
200  DWORD *MappedCount,
201  DWORD LookupOptions,
202  DWORD ClientRevision);
203 
204 NTSTATUS
206  PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
207  PLSAPR_TRANSLATED_NAMES_EX TranslatedNames,
208  LSAP_LOOKUP_LEVEL LookupLevel,
209  DWORD *MappedCount,
210  DWORD LookupOptions,
211  DWORD ClientRevision);
212 
213 /* lsarpc.c */
214 NTSTATUS
216 
217 /* notify.c */
218 VOID
220 
221 NTSTATUS
223  PLSA_API_MSG RequestMsg);
224 
225 VOID
228 
229 /* policy.c */
230 NTSTATUS
231 LsarQueryAuditLog(PLSA_DB_OBJECT PolicyObject,
232  PLSAPR_POLICY_INFORMATION *PolicyInformation);
233 
234 NTSTATUS
236  PLSAPR_POLICY_INFORMATION *PolicyInformation);
237 
238 NTSTATUS
240  PLSAPR_POLICY_INFORMATION *PolicyInformation);
241 
242 NTSTATUS
244  PLSAPR_POLICY_INFORMATION *PolicyInformation);
245 
246 NTSTATUS
248  PLSAPR_POLICY_INFORMATION *PolicyInformation);
249 
250 NTSTATUS
252  PLSAPR_POLICY_INFORMATION *PolicyInformation);
253 
254 NTSTATUS
256  PLSAPR_POLICY_INFORMATION *PolicyInformation);
257 
258 NTSTATUS
260  PLSAPR_POLICY_INFORMATION *PolicyInformation);
261 
262 NTSTATUS
264  PLSAPR_POLICY_INFORMATION *PolicyInformation);
265 
266 NTSTATUS
268  PLSAPR_POLICY_INFORMATION *PolicyInformation);
269 
270 NTSTATUS
272  PLSAPR_POLICY_INFORMATION *PolicyInformation);
273 
274 NTSTATUS
276  PLSAPR_POLICY_INFORMATION *PolicyInformation);
277 
278 NTSTATUS
280  PLSAPR_POLICY_INFORMATION *PolicyInformation);
281 
282 NTSTATUS
283 LsarSetAuditLog(PLSA_DB_OBJECT PolicyObject,
285 
286 NTSTATUS
289 
290 NTSTATUS
293 
294 NTSTATUS
297 
298 NTSTATUS
299 LsarSetServerRole(PLSA_DB_OBJECT PolicyObject,
301 
302 NTSTATUS
305 
306 NTSTATUS
309 
310 NTSTATUS
313 
314 NTSTATUS
315 LsarSetAuditFull(PLSA_DB_OBJECT PolicyObject,
317 
318 NTSTATUS
319 LsarSetDnsDomain(PLSA_DB_OBJECT PolicyObject,
321 
322 NTSTATUS
325 
326 NTSTATUS
329 
330 /* privileges.c */
331 NTSTATUS
334 
335 NTSTATUS
337  USHORT ClientLanguage,
338  USHORT ClientSystemDefaultLanguage,
339  PRPC_UNICODE_STRING *DisplayName,
340  USHORT *LanguageReturned);
341 
342 PLUID
345 
346 NTSTATUS
347 LsarpEnumeratePrivileges(DWORD *EnumerationContext,
348  PLSAPR_PRIVILEGE_ENUM_BUFFER EnumerationBuffer,
349  DWORD PreferedMaximumLength);
350 
351 NTSTATUS
354 
358 
359 /* registry.h */
360 NTSTATUS
362 
363 NTSTATUS
364 LsapRegCreateKey(IN HANDLE ParentKeyHandle,
368 
369 NTSTATUS
370 LsapRegDeleteSubKey(IN HANDLE ParentKeyHandle,
371  IN LPCWSTR KeyName);
372 
373 NTSTATUS
375 
376 NTSTATUS
378  IN ULONG Index,
379  IN ULONG Length,
380  OUT LPWSTR Buffer);
381 
382 NTSTATUS
383 LsapRegOpenKey(IN HANDLE ParentKeyHandle,
387 
388 NTSTATUS
390  OUT PULONG SubKeyCount,
391  OUT PULONG MaxSubKeyNameLength,
392  OUT PULONG ValueCount);
393 
394 NTSTATUS
397 
398 NTSTATUS
400  IN ULONG Index,
401  OUT LPWSTR Name,
402  IN OUT PULONG NameLength,
406 
407 NTSTATUS
413 
414 NTSTATUS
417  IN ULONG Type,
418  IN LPVOID Data,
420 
421 /* security.c */
422 NTSTATUS
424  PULONG PolicySdSize);
425 
426 NTSTATUS
428  PULONG AccountSdSize);
429 
430 NTSTATUS
432  PULONG SecretSdSize);
433 
434 /* session.c */
435 VOID
437 
438 NTSTATUS
439 NTAPI
441 
442 NTSTATUS
443 NTAPI
445 
446 NTSTATUS
447 NTAPI
451  _In_ PLSA_STRING PrimaryKeyValue,
452  _In_ PLSA_STRING Credential);
453 
454 NTSTATUS
455 NTAPI
459  _Inout_ PULONG QueryContext,
460  _In_ BOOLEAN RetrieveAllCredentials,
461  _Inout_ PLSA_STRING PrimaryKeyValue,
462  _Out_ PULONG PrimaryKeyLength,
463  _Out_ PLSA_STRING Credentials);
464 
465 NTSTATUS
466 NTAPI
470  _In_ PLSA_STRING PrimaryKeyValue);
471 
472 NTSTATUS
476  _In_ PUNICODE_STRING UserName,
477  _In_ PUNICODE_STRING LogonDomain,
478  _In_ PSID Sid);
479 
480 NTSTATUS
482 
483 NTSTATUS
485 
486 /* srm.c */
487 NTSTATUS
489 
490 NTSTATUS
492  PLUID LogonId);
493 
494 NTSTATUS
496  PLUID LogonId);
497 
498 /* utils.c */
499 INT
501  UINT uId,
503  INT nBufferMax);
504 
505 INT
508  _In_ UINT uId,
509  _In_ USHORT usLanguage);
510 
511 INT
514  _In_ UINT uId,
515  _In_ USHORT usLanguage,
517  _Out_ INT nBufferMax);
518 
519 PSID
521  PSID SrcSid,
522  ULONG Rid);
523 
524 #endif /* _LSASRV_H */
PSID LsapLocalSystemSid
Definition: lookup.c:83
SID_IDENTIFIER_AUTHORITY CreatorSidAuthority
Definition: database.c:18
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
PWSTR Names[NAMES_COUNT]
_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)
NTSTATUS LsapCallAuthenticationPackage(PLSA_API_MSG RequestMsg, PLSAP_LOGON_CONTEXT LogonContext)
Definition: authpackage.c:545
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:2403
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:959
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
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:26
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:1029
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:899
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:17
_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:112
SID_IDENTIFIER_AUTHORITY WorldSidAuthority
Definition: database.c:16
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:269
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:173
NTSTATUS LsarQueryAccountDomain(PLSA_DB_OBJECT PolicyObject, PLSAPR_POLICY_INFORMATION *PolicyInformation)
Definition: policy.c:289
NTSTATUS LsapInitDatabase(VOID)
Definition: database.c:537
enum _POLICY_NOTIFICATION_INFORMATION_CLASS POLICY_NOTIFICATION_INFORMATION_CLASS
unsigned char BOOLEAN
NTSTATUS LsapInitSids(VOID)
Definition: lookup.c:173
NTSTATUS LsapLookupAuthenticationPackage(PLSA_API_MSG RequestMsg, PLSAP_LOGON_CONTEXT LogonContext)
Definition: authpackage.c:510
#define _Out_
Definition: no_sal2.h:160
_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:256
int Count
Definition: noreturn.cpp:7
UNICODE_STRING BuiltinDomainName
Definition: database.c:23
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:296
NTSTATUS LsapGetLogonSessionData(IN OUT PLSA_API_MSG RequestMsg)
Definition: session.c:392
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:22
#define _Inout_
Definition: no_sal2.h:162
SID_IDENTIFIER_AUTHORITY NtAuthority
Definition: database.c:19
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:710
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:24
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:1080
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
#define _In_
Definition: no_sal2.h:158
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:15
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:590
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
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:59
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:285
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:1375
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:1714
_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:1804
NTSTATUS LsapGetObjectAttribute(PLSA_DB_OBJECT DbObject, LPWSTR AttributeName, LPVOID AttributeData, PULONG AttributeSize)
Definition: database.c:1010
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)