ReactOS  0.4.15-dev-3295-gaa8fc87
samsrv.h
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: See COPYING in the top level directory
3  * PROJECT: Security Account Manager (LSA) Server
4  * FILE: reactos/dll/win32/samsrv/samsrv.h
5  * PURPOSE: Common header file
6  *
7  * PROGRAMMERS: Eric Kohl
8  */
9 
10 #ifndef _SAMSRV_PCH_
11 #define _SAMSRV_PCH_
12 
13 #include <stdio.h>
14 #include <stdlib.h>
15 
16 #define WIN32_NO_STATUS
17 #define _INC_WINDOWS
18 #define COM_NO_WINDOWS_H
19 
20 #include <windef.h>
21 #include <winbase.h>
22 #include <winreg.h>
23 #define NTOS_MODE_USER
24 #include <ndk/ketypes.h>
25 #include <ndk/kefuncs.h>
26 #include <ndk/obfuncs.h>
27 #include <ndk/rtlfuncs.h>
28 #include <ddk/ntsam.h>
29 #include <sddl.h>
30 #include <sam_s.h>
31 
32 #include <wine/debug.h>
34 
35 typedef enum _SAM_DB_OBJECT_TYPE
36 {
44 
45 typedef struct _SAM_DB_OBJECT
46 {
53  HANDLE MembersKeyHandle; // only used by Aliases
58 
59 #define SAMP_DB_SIGNATURE 0x87654321
60 
61 typedef struct _SAM_ALIAS_FIXED_DATA
62 {
67 
68 typedef struct _SAM_DOMAIN_FIXED_DATA
69 {
74  LARGE_INTEGER MaxPasswordAge; /* relative Time */
75  LARGE_INTEGER MinPasswordAge; /* relative Time */
76  LARGE_INTEGER ForceLogoff; /* relative Time */
77  LARGE_INTEGER LockoutDuration; /* relative Time */
89 
90 typedef struct _SAM_GROUP_FIXED_DATA
91 {
97 
98 typedef struct _SAM_USER_FIXED_DATA
99 {
117 
118 
124 
125 
126 /* alias.c */
127 
128 NTSTATUS
130  IN ULONG AliasId,
132  OUT PSAM_DB_OBJECT *AliasObject);
133 
134 NTSTATUS
136  IN PRPC_SID MemberId);
137 
138 NTSTATUS
139 NTAPI
141  IN PRPC_SID MemberId);
142 
143 NTSTATUS
145  OUT PULONG MemberCount,
146  OUT PSAMPR_SID_INFORMATION *MemberArray);
147 
148 NTSTATUS
150 
151 
152 /* database.c */
153 
154 NTSTATUS
156 
157 NTSTATUS
159  IN LPWSTR ContainerName,
161  IN ULONG RelativeId,
164  OUT PSAM_DB_OBJECT *DbObject);
165 
166 NTSTATUS
167 SampOpenDbObject(IN PSAM_DB_OBJECT ParentObject,
168  IN LPWSTR ContainerName,
170  IN ULONG RelativeId,
173  OUT PSAM_DB_OBJECT *DbObject);
174 
175 NTSTATUS
179  PSAM_DB_OBJECT *DbObject);
180 
181 NTSTATUS
183 
184 NTSTATUS
186 
187 NTSTATUS
189  LPWSTR AttributeName,
190  ULONG AttributeType,
192  ULONG AttributeSize);
193 
194 NTSTATUS
196  LPWSTR AttributeName,
197  PULONG AttributeType,
199  PULONG AttributeSize);
200 
201 NTSTATUS
203  LPWSTR AttributeName,
205 
206 NTSTATUS
208  LPWSTR AttributeName,
210 
211 
212 /* display.c */
213 
214 NTSTATUS
216 
217 NTSTATUS
219 
220 NTSTATUS
222  _In_ PSAM_DB_OBJECT DomainObject,
223  _In_ DOMAIN_DISPLAY_INFORMATION DisplayInformationClass);
224 
225 
226 /* domain.c */
227 
228 NTSTATUS
230  IN LPCWSTR lpContainerName,
232  IN ULONG ulRelativeId);
233 
234 NTSTATUS
236  IN LPCWSTR lpContainerName,
238 
239 NTSTATUS
242 
243 NTSTATUS
245  IN PRPC_SID MemberSid);
246 
247 NTSTATUS
249  IN ULONG ulRelativeId,
250  IN OUT PSID *AccountSid);
251 
252 
253 /* group.h */
254 
255 NTSTATUS
257  IN ULONG GroupId,
259  OUT PSAM_DB_OBJECT *GroupObject);
260 
261 NTSTATUS
263  IN ULONG MemberId);
264 
265 NTSTATUS
267  IN ULONG MemberId);
268 
269 
270 /* registry.h */
271 
272 NTSTATUS
274 
275 NTSTATUS
276 SampRegCreateKey(IN HANDLE ParentKeyHandle,
280 
281 NTSTATUS
282 SampRegDeleteKey(IN HANDLE ParentKeyHandle,
283  IN LPCWSTR KeyName);
284 
285 NTSTATUS
287  IN ULONG Index,
288  IN ULONG Length,
289  OUT LPWSTR Buffer);
290 
291 NTSTATUS
292 SampRegOpenKey(IN HANDLE ParentKeyHandle,
296 
297 NTSTATUS
299  OUT PULONG SubKeyCount,
300  OUT PULONG ValueCount);
301 
302 NTSTATUS
305 
306 NTSTATUS
308  IN ULONG Index,
309  OUT LPWSTR Name,
310  IN OUT PULONG NameLength,
314 
315 NTSTATUS
321 
322 NTSTATUS
325  IN ULONG Type,
326  IN LPVOID Data,
328 
329 
330 /* samspc.c */
331 
332 VOID
334 
335 
336 /* security.c */
337 
338 NTSTATUS
340  OUT PULONG Size);
341 
342 NTSTATUS
344  OUT PULONG Size);
345 
346 NTSTATUS
348  OUT PULONG Size);
349 
350 NTSTATUS
352  OUT PULONG Size);
353 
354 NTSTATUS
356  OUT PULONG Size);
357 
358 NTSTATUS
359 SampCreateUserSD(IN PSID UserSid,
360  OUT PSECURITY_DESCRIPTOR *UserSd,
361  OUT PULONG Size);
362 
363 
364 /* setup.c */
365 
366 BOOL
368 
369 
370 /* user.c */
371 
372 NTSTATUS
374  IN ULONG UserId,
376  OUT PSAM_DB_OBJECT *UserObject);
377 
378 NTSTATUS
380  IN ULONG GroupId,
382 
383 NTSTATUS
385  IN ULONG GroupId);
386 
387 NTSTATUS
389  IN ULONG UserId,
390  IN ULONG GroupId,
391  OUT PULONG GroupAttributes);
392 
393 NTSTATUS
395  IN ULONG UserId,
396  IN ULONG GroupId,
397  IN ULONG GroupAttributes);
398 
399 NTSTATUS
401 
402 NTSTATUS
404 
405 NTSTATUS
407  IN PENCRYPTED_NT_OWF_PASSWORD NtPassword,
408  IN BOOLEAN NtPasswordPresent,
409  IN PENCRYPTED_LM_OWF_PASSWORD LmPassword,
410  IN BOOLEAN LmPasswordPresent);
411 
412 NTSTATUS
414  IN OUT PSAMPR_LOGON_HOURS LogonHours);
415 
416 NTSTATUS
418  IN PSAMPR_LOGON_HOURS LogonHours);
419 
420 
421 /* utils.c */
422 
423 INT
425  UINT uId,
427  INT nBufferMax);
428 
429 BOOL
431 
432 PSID
433 AppendRidToSid(PSID SrcSid,
434  ULONG Rid);
435 
436 NTSTATUS
438  OUT PULONG Rid);
439 
440 NTSTATUS
442  IN USHORT MaxLength);
443 
444 
445 /* Undocumented advapi32 functions */
446 
447 NTSTATUS
448 WINAPI
450  LPSTR hash);
451 
452 NTSTATUS
453 WINAPI
455  LPBYTE hash);
456 
457 NTSTATUS
458 WINAPI
459 SystemFunction013(const BYTE *in,
460  const BYTE *key,
461  LPBYTE out);
462 
463 #endif /* _SAMSRV_PCH_ */
NTSTATUS SampCreateAccountDomainSD(OUT PSECURITY_DESCRIPTOR *DomainSd, OUT PULONG Size)
Definition: security.c:545
ULONG Signature
Definition: samsrv.h:47
RTL_RESOURCE SampResource
Definition: samsrv.c:28
ObjectType
Definition: metafile.c:80
USHORT CountryCode
Definition: samsrv.h:110
enum _SAM_DB_OBJECT_TYPE SAM_DB_OBJECT_TYPE
NTSTATUS SampRegDeleteKey(IN HANDLE ParentKeyHandle, IN LPCWSTR KeyName)
Definition: registry.c:71
#define IN
Definition: typedefs.h:39
enum _DOMAIN_DISPLAY_INFORMATION DOMAIN_DISPLAY_INFORMATION
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2654
struct _SAM_USER_FIXED_DATA SAM_USER_FIXED_DATA
WINE_DEFAULT_DEBUG_CHANNEL(samsrv)
NTSTATUS NTAPI SampRemoveMemberFromAlias(IN PSAM_DB_OBJECT AliasObject, IN PRPC_SID MemberId)
Definition: alias.c:111
BOOL SampIsSetupRunning(VOID)
Definition: utils.c:64
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
NTSTATUS SampCreateServerSD(OUT PSECURITY_DESCRIPTOR *ServerSd, OUT PULONG Size)
Definition: security.c:21
_SAM_DB_OBJECT_TYPE
Definition: samsrv.h:35
struct _SAM_DOMAIN_FIXED_DATA SAM_DOMAIN_FIXED_DATA
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
SAM_DB_OBJECT_TYPE ObjectType
Definition: samsrv.h:48
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
Definition: ndis.h:4711
NTSTATUS SampRemoveMemberFromGroup(IN PSAM_DB_OBJECT GroupObject, IN ULONG MemberId)
Definition: group.c:103
LARGE_INTEGER AccountExpires
Definition: samsrv.h:105
NTSTATUS SampRegCloseKey(IN OUT PHANDLE KeyHandle)
Definition: registry.c:26
NTSTATUS SampRemoveUserFromAllGroups(IN PSAM_DB_OBJECT UserObject)
Definition: user.c:319
struct _SAM_USER_FIXED_DATA * PSAM_USER_FIXED_DATA
LARGE_INTEGER LastBadPasswordTime
Definition: samsrv.h:106
NTSTATUS SampSetObjectAttributeString(PSAM_DB_OBJECT DbObject, LPWSTR AttributeName, PRPC_UNICODE_STRING String)
Definition: database.c:595
USHORT MinPasswordLength
Definition: samsrv.h:82
NTSTATUS SampDeleteAccountDbObject(PSAM_DB_OBJECT DbObject)
Definition: database.c:368
ULONG PrimaryGroupId
Definition: samsrv.h:108
LONG NTSTATUS
Definition: precomp.h:26
NTSTATUS SampGetObjectAttribute(PSAM_DB_OBJECT DbObject, LPWSTR AttributeName, PULONG AttributeType, LPVOID AttributeData, PULONG AttributeSize)
Definition: database.c:516
DOMAIN_SERVER_ENABLE_STATE DomainServerState
Definition: samsrv.h:85
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:361
LARGE_INTEGER DomainModifiedCount
Definition: samsrv.h:73
ENCRYPTED_NT_OWF_PASSWORD EmptyNtHash
Definition: samsrv.c:26
NTSTATUS SampRemoveGroupMembershipFromUser(IN PSAM_DB_OBJECT UserObject, IN ULONG GroupId)
Definition: user.c:108
NTSTATUS SampOpenUserObject(IN PSAM_DB_OBJECT DomainObject, IN ULONG UserId, IN ACCESS_MASK DesiredAccess, OUT PSAM_DB_OBJECT *UserObject)
Definition: user.c:14
LARGE_INTEGER MinPasswordAge
Definition: samsrv.h:75
_In_ PVOID _Out_opt_ PULONG_PTR _Outptr_opt_ PCUNICODE_STRING * ObjectName
Definition: cmfuncs.h:62
NTSTATUS SampCreateUserSD(IN PSID UserSid, OUT PSECURITY_DESCRIPTOR *UserSd, OUT PULONG Size)
Definition: security.c:1433
char * LPSTR
Definition: xmlstorage.h:182
_In_ LPCSTR lpAccountName
Definition: winbase.h:2720
int32_t INT
Definition: typedefs.h:58
NTSTATUS SampCheckAccountName(IN PRPC_UNICODE_STRING AccountName, IN USHORT MaxLength)
Definition: utils.c:154
NTSTATUS SampGetLogonHoursAttribute(IN PSAM_DB_OBJECT UserObject, IN OUT PSAMPR_LOGON_HOURS LogonHours)
Definition: user.c:619
PSID AppendRidToSid(PSID SrcSid, ULONG Rid)
Definition: utils.c:103
NTSTATUS SampOpenDbObject(IN PSAM_DB_OBJECT ParentObject, IN LPWSTR ContainerName, IN LPWSTR ObjectName, IN ULONG RelativeId, IN SAM_DB_OBJECT_TYPE ObjectType, IN ACCESS_MASK DesiredAccess, OUT PSAM_DB_OBJECT *DbObject)
Definition: database.c:173
NTSTATUS WINAPI SystemFunction006(LPCSTR password, LPSTR hash)
Definition: crypt_lmhash.c:53
BOOLEAN UasCompatibilityRequired
Definition: samsrv.h:87
NTSTATUS SampAddMemberToAlias(IN PSAM_DB_OBJECT AliasObject, IN PRPC_SID MemberId)
Definition: alias.c:39
NTSTATUS SampRegQueryValue(IN HANDLE KeyHandle, IN LPCWSTR ValueName, OUT PULONG Type OPTIONAL, OUT LPVOID Data OPTIONAL, IN OUT PULONG DataLength OPTIONAL)
Definition: registry.c:332
struct _SAM_ALIAS_FIXED_DATA SAM_ALIAS_FIXED_DATA
NTSTATUS SampCheckAccountNameInDomain(IN PSAM_DB_OBJECT DomainObject, IN LPCWSTR lpAccountName)
Definition: domain.c:96
HANDLE MembersKeyHandle
Definition: samsrv.h:53
HINSTANCE hInstance
Definition: charmap.c:20
unsigned char * LPBYTE
Definition: typedefs.h:53
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2430
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
unsigned int BOOL
Definition: ntddk_ex.h:94
NTSTATUS SampRegDeleteValue(IN HANDLE KeyHandle, IN LPCWSTR ValueName)
Definition: registry.c:212
USHORT OperatorCount
Definition: samsrv.h:115
NTSTATUS WINAPI SystemFunction013(const BYTE *in, const BYTE *key, LPBYTE out)
Definition: sysfunc.c:383
NTSTATUS SampGetRidFromSid(IN PSID Sid, OUT PULONG Rid)
Definition: utils.c:138
struct _SAM_DB_OBJECT * PSAM_DB_OBJECT
ULONG PasswordProperties
Definition: samsrv.h:81
BOOL SampInitializeSAM(VOID)
Definition: setup.c:888
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
Definition: db.cpp:175
unsigned char BOOLEAN
NTSTATUS SampAddMemberToGroup(IN PSAM_DB_OBJECT GroupObject, IN ULONG MemberId)
Definition: group.c:39
NTSTATUS SampCreateDbObject(IN PSAM_DB_OBJECT ParentObject, IN LPWSTR ContainerName, IN LPWSTR ObjectName, IN ULONG RelativeId, IN SAM_DB_OBJECT_TYPE ObjectType, IN ACCESS_MASK DesiredAccess, OUT PSAM_DB_OBJECT *DbObject)
Definition: database.c:44
ULONG RefCount
Definition: samsrv.h:49
#define _In_
Definition: ms_sal.h:308
NTSTATUS SampGetUserGroupAttributes(IN PSAM_DB_OBJECT DomainObject, IN ULONG UserId, IN ULONG GroupId, OUT PULONG GroupAttributes)
Definition: user.c:183
_In_ ULONG _In_ ACCESS_MASK _In_ PSID Sid
Definition: rtlfuncs.h:1103
NTSTATUS SampSetUserPassword(IN PSAM_DB_OBJECT UserObject, IN PENCRYPTED_NT_OWF_PASSWORD NtPassword, IN BOOLEAN NtPasswordPresent, IN PENCRYPTED_LM_OWF_PASSWORD LmPassword, IN BOOLEAN LmPasswordPresent)
Definition: user.c:399
LARGE_INTEGER LockoutObservationWindow
Definition: samsrv.h:78
_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
LARGE_INTEGER ForceLogoff
Definition: samsrv.h:76
const char * LPCSTR
Definition: xmlstorage.h:183
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
Definition: wdfdevice.h:2697
NTSTATUS SampCreateBuiltinDomainSD(OUT PSECURITY_DESCRIPTOR *DomainSd, OUT PULONG Size)
Definition: security.c:283
NTSTATUS SampCreateGroupSD(OUT PSECURITY_DESCRIPTOR *GroupSd, OUT PULONG Size)
Definition: security.c:1146
NTSTATUS SampRegSetValue(IN HANDLE KeyHandle, IN LPCWSTR ValueName, IN ULONG Type, IN LPVOID Data, IN ULONG DataLength)
NTSTATUS SampOpenGroupObject(IN PSAM_DB_OBJECT DomainObject, IN ULONG GroupId, IN ACCESS_MASK DesiredAccess, OUT PSAM_DB_OBJECT *GroupObject)
Definition: group.c:14
struct _SAM_GROUP_FIXED_DATA * PSAM_GROUP_FIXED_DATA
LPWSTR Name
Definition: samsrv.h:51
NTSTATUS SampShutdownDisplayCache(VOID)
Definition: display.c:164
NTSTATUS SampCloseDbObject(PSAM_DB_OBJECT DbObject)
Definition: database.c:346
NTSTATUS SampRegCreateKey(IN HANDLE ParentKeyHandle, IN LPCWSTR KeyName, IN ACCESS_MASK DesiredAccess, OUT PHANDLE KeyHandle)
Definition: registry.c:42
VOID SampStartRpcServer(VOID)
Definition: samrpc.c:78
LARGE_INTEGER PasswordLastSet
Definition: samsrv.h:104
_In_ WDFCOLLECTION _In_ ULONG Index
NTSTATUS SampRegEnumerateValue(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:226
struct _SAM_ALIAS_FIXED_DATA * PSAM_ALIAS_FIXED_DATA
enum _DOMAIN_SERVER_ROLE DOMAIN_SERVER_ROLE
#define WINAPI
Definition: msvc.h:6
struct _SAM_GROUP_FIXED_DATA SAM_GROUP_FIXED_DATA
static FILE * out
Definition: regtests2xml.c:44
Type
Definition: Type.h:6
BOOLEAN Trusted
Definition: samsrv.h:55
INT SampLoadString(HINSTANCE hInstance, UINT uId, LPWSTR lpBuffer, INT nBufferMax)
Definition: utils.c:17
ULONG RelativeId
Definition: samsrv.h:54
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
Definition: wdfregistry.h:240
LARGE_INTEGER LockoutDuration
Definition: samsrv.h:77
NTSTATUS SampSetAccountNameInDomain(IN PSAM_DB_OBJECT DomainObject, IN LPCWSTR lpContainerName, IN LPCWSTR lpAccountName, IN ULONG ulRelativeId)
Definition: domain.c:14
T1_FIELD_DICT_PRIVATE password
Definition: t1tokens.h:64
NTSTATUS SampInitializeDisplayCache(VOID)
Definition: display.c:143
NTSTATUS SampSetObjectAttribute(PSAM_DB_OBJECT DbObject, LPWSTR AttributeName, ULONG AttributeType, LPVOID AttributeData, ULONG AttributeSize)
Definition: database.c:501
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:454
NTSTATUS SampRemoveAccountNameFromDomain(IN PSAM_DB_OBJECT DomainObject, IN LPCWSTR lpContainerName, IN LPCWSTR lpAccountName)
Definition: domain.c:57
LARGE_INTEGER LastLogon
Definition: samsrv.h:102
PGENERIC_MAPPING pServerMapping
Definition: samrpc.c:56
unsigned char BYTE
Definition: xxhash.c:193
NTSTATUS SampSetUserGroupAttributes(IN PSAM_DB_OBJECT DomainObject, IN ULONG UserId, IN ULONG GroupId, IN ULONG GroupAttributes)
Definition: user.c:248
NTSTATUS SampRegOpenKey(IN HANDLE ParentKeyHandle, IN LPCWSTR KeyName, IN ACCESS_MASK DesiredAccess, OUT PHANDLE KeyHandle)
Definition: registry.c:158
ACCESS_MASK Access
Definition: samsrv.h:50
NTSTATUS SampCreateAccountSid(IN PSAM_DB_OBJECT DomainObject, IN ULONG ulRelativeId, IN OUT PSID *AccountSid)
Definition: domain.c:303
HANDLE KeyHandle
Definition: samsrv.h:52
NTSTATUS SampAddGroupMembershipToUser(IN PSAM_DB_OBJECT UserObject, IN ULONG GroupId, IN ULONG Attributes)
Definition: user.c:39
USHORT BadPasswordCount
Definition: samsrv.h:112
struct _SAM_DB_OBJECT * ParentObject
Definition: samsrv.h:56
NTSTATUS SampRemoveAllMembersFromAlias(IN PSAM_DB_OBJECT AliasObject)
Definition: alias.c:314
GLuint in
Definition: glext.h:9616
unsigned short USHORT
Definition: pedump.c:61
LARGE_INTEGER MaxPasswordAge
Definition: samsrv.h:74
NTSTATUS SampSetLogonHoursAttribute(IN PSAM_DB_OBJECT UserObject, IN PSAMPR_LOGON_HOURS LogonHours)
Definition: user.c:689
NTSTATUS SampInitDatabase(VOID)
Definition: database.c:21
unsigned int * PULONG
Definition: retypes.h:1
unsigned int UINT
Definition: ndis.h:50
NTSTATUS SampRemoveMemberFromAllAliases(IN PSAM_DB_OBJECT DomainObject, IN PRPC_SID MemberSid)
Definition: domain.c:214
NTSTATUS WINAPI SystemFunction007(PUNICODE_STRING string, LPBYTE hash)
USHORT LockoutThreshold
Definition: samsrv.h:84
NTSTATUS SampRegQueryKeyInfo(IN HANDLE KeyHandle, OUT PULONG SubKeyCount, OUT PULONG ValueCount)
Definition: registry.c:181
LARGE_INTEGER ModifiedCountAtLastPromotion
Definition: samsrv.h:79
_In_ HANDLE Handle
Definition: extypes.h:390
DOMAIN_SERVER_ROLE DomainServerRole
Definition: samsrv.h:86
#define OUT
Definition: typedefs.h:40
ENCRYPTED_LM_OWF_PASSWORD EmptyLmHash
Definition: samsrv.c:27
enum _NT_PRODUCT_TYPE NT_PRODUCT_TYPE
ULONG UserAccountControl
Definition: samsrv.h:109
NTSTATUS SampGetObjectAttributeString(PSAM_DB_OBJECT DbObject, LPWSTR AttributeName, PRPC_UNICODE_STRING String)
Definition: database.c:531
LARGE_INTEGER CreationTime
Definition: samsrv.h:72
unsigned int ULONG
Definition: retypes.h:1
NTSTATUS SampValidateDbObject(SAMPR_HANDLE Handle, SAM_DB_OBJECT_TYPE ObjectType, ACCESS_MASK DesiredAccess, PSAM_DB_OBJECT *DbObject)
Definition: database.c:301
enum _DOMAIN_SERVER_ENABLE_STATE DOMAIN_SERVER_ENABLE_STATE
NTSTATUS SampCreateAliasSD(OUT PSECURITY_DESCRIPTOR *AliasSd, OUT PULONG Size)
Definition: security.c:859
USHORT PasswordHistoryLength
Definition: samsrv.h:83
NTSTATUS SampOpenAliasObject(IN PSAM_DB_OBJECT DomainObject, IN ULONG AliasId, IN ACCESS_MASK DesiredAccess, OUT PSAM_DB_OBJECT *AliasObject)
Definition: alias.c:14
NTSTATUS SampFillDisplayCache(_In_ PSAM_DB_OBJECT DomainObject, _In_ DOMAIN_DISPLAY_INFORMATION DisplayInformationClass)
Definition: display.c:172
NTSTATUS SampGetMembersInAlias(IN PSAM_DB_OBJECT AliasObject, OUT PULONG MemberCount, OUT PSAMPR_SID_INFORMATION *MemberArray)
Definition: alias.c:218
WCHAR * LPWSTR
Definition: xmlstorage.h:184
NTSTATUS SampRemoveUserFromAllAliases(IN PSAM_DB_OBJECT UserObject)
Definition: user.c:391
Definition: _hash_fun.h:40
LARGE_INTEGER LastLogoff
Definition: samsrv.h:103
NT_PRODUCT_TYPE SampProductType
Definition: samsrv.c:29
ULONG ACCESS_MASK
Definition: nt_native.h:40
NTSTATUS SampRegEnumerateSubKey(IN HANDLE KeyHandle, IN ULONG Index, IN ULONG Length, OUT LPWSTR Buffer)
Definition: registry.c:101
Definition: path.c:41
struct _SAM_DB_OBJECT SAM_DB_OBJECT
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
struct _SAM_DOMAIN_FIXED_DATA * PSAM_DOMAIN_FIXED_DATA
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68