ReactOS 0.4.15-dev-7968-g24a56f8
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
36{
44
45typedef struct _SAM_DB_OBJECT
46{
53 HANDLE MembersKeyHandle; // only used by Aliases
58
59#define SAMP_DB_SIGNATURE 0x87654321
60
62{
67
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
91{
97
99{
117
118
124
125
126/* alias.c */
127
130 IN ULONG AliasId,
132 OUT PSAM_DB_OBJECT *AliasObject);
133
136 IN PRPC_SID MemberId);
137
139NTAPI
141 IN PRPC_SID MemberId);
142
145 OUT PULONG MemberCount,
146 OUT PSAMPR_SID_INFORMATION *MemberArray);
147
150
151
152/* database.c */
153
156
159 IN LPWSTR ContainerName,
161 IN ULONG RelativeId,
164 OUT PSAM_DB_OBJECT *DbObject);
165
168 IN LPWSTR ContainerName,
170 IN ULONG RelativeId,
173 OUT PSAM_DB_OBJECT *DbObject);
174
179 PSAM_DB_OBJECT *DbObject);
180
183
186
189 LPWSTR AttributeName,
190 ULONG AttributeType,
192 ULONG AttributeSize);
193
196 LPWSTR AttributeName,
197 PULONG AttributeType,
199 PULONG AttributeSize);
200
203 LPWSTR AttributeName,
205
208 LPWSTR AttributeName,
210
211
212/* display.c */
213
216
219
222 _In_ PSAM_DB_OBJECT DomainObject,
223 _In_ DOMAIN_DISPLAY_INFORMATION DisplayInformationClass);
224
225
226/* domain.c */
227
230 IN LPCWSTR lpContainerName,
232 IN ULONG ulRelativeId);
233
236 IN LPCWSTR lpContainerName,
238
242
245 IN PRPC_SID MemberSid);
246
249 IN ULONG ulRelativeId,
250 IN OUT PSID *AccountSid);
251
252
253/* group.h */
254
257 IN ULONG GroupId,
259 OUT PSAM_DB_OBJECT *GroupObject);
260
263 IN ULONG MemberId);
264
267 IN ULONG MemberId);
268
269
270/* registry.h */
271
274
276SampRegCreateKey(IN HANDLE ParentKeyHandle,
280
282SampRegDeleteKey(IN HANDLE ParentKeyHandle,
284
287 IN ULONG Index,
290
292SampRegOpenKey(IN HANDLE ParentKeyHandle,
296
299 OUT PULONG SubKeyCount,
300 OUT PULONG ValueCount);
301
305
308 IN ULONG Index,
310 IN OUT PULONG NameLength,
314
321
325 IN ULONG Type,
326 IN LPVOID Data,
328
329
330/* samspc.c */
331
332VOID
334
335
336/* security.c */
337
340 OUT PULONG Size);
341
344 OUT PULONG Size);
345
348 OUT PULONG Size);
349
352 OUT PULONG Size);
353
356 OUT PULONG Size);
357
359SampCreateUserSD(IN PSID UserSid,
361 OUT PULONG Size);
362
363
364/* setup.c */
365
366BOOL
368
369
370/* user.c */
371
374 IN ULONG UserId,
376 OUT PSAM_DB_OBJECT *UserObject);
377
380 IN ULONG GroupId,
382
385 IN ULONG GroupId);
386
389 IN ULONG UserId,
390 IN ULONG GroupId,
391 OUT PULONG GroupAttributes);
392
395 IN ULONG UserId,
396 IN ULONG GroupId,
397 IN ULONG GroupAttributes);
398
401
404
408 IN BOOLEAN NtPasswordPresent,
410 IN BOOLEAN LmPasswordPresent);
411
414 IN OUT PSAMPR_LOGON_HOURS LogonHours);
415
418 IN PSAMPR_LOGON_HOURS LogonHours);
419
420
421/* utils.c */
422
423INT
425 UINT uId,
427 INT nBufferMax);
428
429BOOL
431
432PSID
433AppendRidToSid(PSID SrcSid,
434 ULONG Rid);
435
438 OUT PULONG Rid);
439
442 IN USHORT MaxLength);
443
444
445/* Undocumented advapi32 functions */
446
448WINAPI
450 LPSTR hash);
451
453WINAPI
455 LPBYTE hash);
456
458WINAPI
460 const BYTE *key,
461 LPBYTE out);
462
463#endif /* _SAMSRV_PCH_ */
unsigned char BOOLEAN
Type
Definition: Type.h:7
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
Definition: precomp.h:23
LONG NTSTATUS
Definition: precomp.h:26
_In_ ULONG _In_opt_ WDFREQUEST _In_opt_ PVOID _In_ size_t _In_ PVOID _In_ size_t _Out_ size_t * DataLength
Definition: cdrom.h:1444
HINSTANCE hInstance
Definition: charmap.c:19
Definition: bufpool.h:45
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
Definition: db.cpp:175
NTSTATUS SampSetAccountNameInDomain(IN PSAM_DB_OBJECT DomainObject, IN LPCWSTR lpContainerName, IN LPCWSTR lpAccountName, IN ULONG ulRelativeId)
Definition: domain.c:14
NTSTATUS SampFillDisplayCache(_In_ PSAM_DB_OBJECT DomainObject, _In_ DOMAIN_DISPLAY_INFORMATION DisplayInformationClass)
Definition: display.c:172
NTSTATUS SampRegCloseKey(IN OUT PHANDLE KeyHandle)
Definition: registry.c:26
NTSTATUS SampCreateGroupSD(OUT PSECURITY_DESCRIPTOR *GroupSd, OUT PULONG Size)
Definition: security.c:1146
NTSTATUS SampCreateAccountDomainSD(OUT PSECURITY_DESCRIPTOR *DomainSd, OUT PULONG Size)
Definition: security.c:545
NTSTATUS SampGetObjectAttribute(PSAM_DB_OBJECT DbObject, LPWSTR AttributeName, PULONG AttributeType, LPVOID AttributeData, PULONG AttributeSize)
Definition: database.c:516
NTSTATUS SampSetObjectAttribute(PSAM_DB_OBJECT DbObject, LPWSTR AttributeName, ULONG AttributeType, LPVOID AttributeData, ULONG AttributeSize)
Definition: database.c:501
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
NTSTATUS SampRemoveUserFromAllGroups(IN PSAM_DB_OBJECT UserObject)
Definition: user.c:319
struct _SAM_GROUP_FIXED_DATA * PSAM_GROUP_FIXED_DATA
NTSTATUS SampRemoveAccountNameFromDomain(IN PSAM_DB_OBJECT DomainObject, IN LPCWSTR lpContainerName, IN LPCWSTR lpAccountName)
Definition: domain.c:57
RTL_RESOURCE SampResource
Definition: samsrv.c:28
NTSTATUS SampRemoveMemberFromGroup(IN PSAM_DB_OBJECT GroupObject, IN ULONG MemberId)
Definition: group.c:103
NTSTATUS SampRegQueryKeyInfo(IN HANDLE KeyHandle, OUT PULONG SubKeyCount, OUT PULONG ValueCount)
Definition: registry.c:181
NTSTATUS SampCheckAccountName(IN PRPC_UNICODE_STRING AccountName, IN USHORT MaxLength)
Definition: utils.c:154
NTSTATUS SampCloseDbObject(PSAM_DB_OBJECT DbObject)
Definition: database.c:346
NTSTATUS SampRegDeleteKey(IN HANDLE ParentKeyHandle, IN LPCWSTR KeyName)
Definition: registry.c:71
NTSTATUS SampInitializeDisplayCache(VOID)
Definition: display.c:143
NTSTATUS SampCheckAccountNameInDomain(IN PSAM_DB_OBJECT DomainObject, IN LPCWSTR lpAccountName)
Definition: domain.c:96
NTSTATUS SampRegSetValue(IN HANDLE KeyHandle, IN LPCWSTR ValueName, IN ULONG Type, IN LPVOID Data, IN ULONG DataLength)
NTSTATUS SampCreateBuiltinDomainSD(OUT PSECURITY_DESCRIPTOR *DomainSd, OUT PULONG Size)
Definition: security.c:283
NTSTATUS SampCreateServerSD(OUT PSECURITY_DESCRIPTOR *ServerSd, OUT PULONG Size)
Definition: security.c:21
PSID AppendRidToSid(PSID SrcSid, ULONG Rid)
Definition: utils.c:103
NTSTATUS SampCreateAccountSid(IN PSAM_DB_OBJECT DomainObject, IN ULONG ulRelativeId, IN OUT PSID *AccountSid)
Definition: domain.c:303
NTSTATUS WINAPI SystemFunction013(const BYTE *in, const BYTE *key, LPBYTE out)
Definition: sysfunc.c:383
NTSTATUS SampCreateAliasSD(OUT PSECURITY_DESCRIPTOR *AliasSd, OUT PULONG Size)
Definition: security.c:859
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 SampDeleteAccountDbObject(PSAM_DB_OBJECT DbObject)
Definition: database.c:368
ENCRYPTED_LM_OWF_PASSWORD EmptyLmHash
Definition: samsrv.c:27
enum _SAM_DB_OBJECT_TYPE SAM_DB_OBJECT_TYPE
NTSTATUS SampCreateUserSD(IN PSID UserSid, OUT PSECURITY_DESCRIPTOR *UserSd, OUT PULONG Size)
Definition: security.c:1433
NTSTATUS SampValidateDbObject(SAMPR_HANDLE Handle, SAM_DB_OBJECT_TYPE ObjectType, ACCESS_MASK DesiredAccess, PSAM_DB_OBJECT *DbObject)
Definition: database.c:301
struct _SAM_GROUP_FIXED_DATA SAM_GROUP_FIXED_DATA
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
NTSTATUS SampAddMemberToGroup(IN PSAM_DB_OBJECT GroupObject, IN ULONG MemberId)
Definition: group.c:39
NTSTATUS SampRemoveMemberFromAllAliases(IN PSAM_DB_OBJECT DomainObject, IN PRPC_SID MemberSid)
Definition: domain.c:214
NTSTATUS SampRegOpenKey(IN HANDLE ParentKeyHandle, IN LPCWSTR KeyName, IN ACCESS_MASK DesiredAccess, OUT PHANDLE KeyHandle)
Definition: registry.c:158
struct _SAM_ALIAS_FIXED_DATA * PSAM_ALIAS_FIXED_DATA
NTSTATUS SampGetMembersInAlias(IN PSAM_DB_OBJECT AliasObject, OUT PULONG MemberCount, OUT PSAMPR_SID_INFORMATION *MemberArray)
Definition: alias.c:218
ENCRYPTED_NT_OWF_PASSWORD EmptyNtHash
Definition: samsrv.c:26
INT SampLoadString(HINSTANCE hInstance, UINT uId, LPWSTR lpBuffer, INT nBufferMax)
Definition: utils.c:17
struct _SAM_DOMAIN_FIXED_DATA * PSAM_DOMAIN_FIXED_DATA
NTSTATUS WINAPI SystemFunction006(LPCSTR password, LPSTR hash)
Definition: crypt_lmhash.c:53
struct _SAM_ALIAS_FIXED_DATA SAM_ALIAS_FIXED_DATA
NTSTATUS SampRemoveGroupMembershipFromUser(IN PSAM_DB_OBJECT UserObject, IN ULONG GroupId)
Definition: user.c:108
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
NTSTATUS SampAddGroupMembershipToUser(IN PSAM_DB_OBJECT UserObject, IN ULONG GroupId, IN ULONG Attributes)
Definition: user.c:39
NTSTATUS SampRemoveAllMembersFromAlias(IN PSAM_DB_OBJECT AliasObject)
Definition: alias.c:314
struct _SAM_DOMAIN_FIXED_DATA SAM_DOMAIN_FIXED_DATA
NTSTATUS WINAPI SystemFunction007(PUNICODE_STRING string, LPBYTE hash)
NTSTATUS SampShutdownDisplayCache(VOID)
Definition: display.c:164
NTSTATUS SampAddMemberToAlias(IN PSAM_DB_OBJECT AliasObject, IN PRPC_SID MemberId)
Definition: alias.c:39
NTSTATUS SampOpenUserObject(IN PSAM_DB_OBJECT DomainObject, IN ULONG UserId, IN ACCESS_MASK DesiredAccess, OUT PSAM_DB_OBJECT *UserObject)
Definition: user.c:14
NTSTATUS SampRegDeleteValue(IN HANDLE KeyHandle, IN LPCWSTR ValueName)
Definition: registry.c:212
NTSTATUS SampGetLogonHoursAttribute(IN PSAM_DB_OBJECT UserObject, IN OUT PSAMPR_LOGON_HOURS LogonHours)
Definition: user.c:619
NTSTATUS SampGetUserGroupAttributes(IN PSAM_DB_OBJECT DomainObject, IN ULONG UserId, IN ULONG GroupId, OUT PULONG GroupAttributes)
Definition: user.c:183
NTSTATUS SampSetObjectAttributeString(PSAM_DB_OBJECT DbObject, LPWSTR AttributeName, PRPC_UNICODE_STRING String)
Definition: database.c:595
NTSTATUS SampSetUserGroupAttributes(IN PSAM_DB_OBJECT DomainObject, IN ULONG UserId, IN ULONG GroupId, IN ULONG GroupAttributes)
Definition: user.c:248
struct _SAM_DB_OBJECT * PSAM_DB_OBJECT
struct _SAM_USER_FIXED_DATA SAM_USER_FIXED_DATA
NTSTATUS SampOpenAliasObject(IN PSAM_DB_OBJECT DomainObject, IN ULONG AliasId, IN ACCESS_MASK DesiredAccess, OUT PSAM_DB_OBJECT *AliasObject)
Definition: alias.c:14
VOID SampStartRpcServer(VOID)
Definition: samrpc.c:78
NTSTATUS SampSetLogonHoursAttribute(IN PSAM_DB_OBJECT UserObject, IN PSAMPR_LOGON_HOURS LogonHours)
Definition: user.c:689
NT_PRODUCT_TYPE SampProductType
Definition: samsrv.c:29
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
NTSTATUS SampRegCreateKey(IN HANDLE ParentKeyHandle, IN LPCWSTR KeyName, IN ACCESS_MASK DesiredAccess, OUT PHANDLE KeyHandle)
Definition: registry.c:42
NTSTATUS SampRemoveUserFromAllAliases(IN PSAM_DB_OBJECT UserObject)
Definition: user.c:391
PGENERIC_MAPPING pServerMapping
Definition: samrpc.c:56
_SAM_DB_OBJECT_TYPE
Definition: samsrv.h:36
@ SamDbGroupObject
Definition: samsrv.h:41
@ SamDbUserObject
Definition: samsrv.h:42
@ SamDbIgnoreObject
Definition: samsrv.h:37
@ SamDbAliasObject
Definition: samsrv.h:40
@ SamDbServerObject
Definition: samsrv.h:38
@ SamDbDomainObject
Definition: samsrv.h:39
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_USER_FIXED_DATA * PSAM_USER_FIXED_DATA
NTSTATUS SampInitDatabase(VOID)
Definition: database.c:21
NTSTATUS SampRegEnumerateSubKey(IN HANDLE KeyHandle, IN ULONG Index, IN ULONG Length, OUT LPWSTR Buffer)
Definition: registry.c:101
NTSTATUS NTAPI SampRemoveMemberFromAlias(IN PSAM_DB_OBJECT AliasObject, IN PRPC_SID MemberId)
Definition: alias.c:111
NTSTATUS SampGetRidFromSid(IN PSID Sid, OUT PULONG Rid)
Definition: utils.c:138
BOOL SampIsSetupRunning(VOID)
Definition: utils.c:64
NTSTATUS SampGetObjectAttributeString(PSAM_DB_OBJECT DbObject, LPWSTR AttributeName, PRPC_UNICODE_STRING String)
Definition: database.c:531
BOOL SampInitializeSAM(VOID)
Definition: setup.c:888
struct _SAM_DB_OBJECT SAM_DB_OBJECT
enum _NT_PRODUCT_TYPE NT_PRODUCT_TYPE
@ AttributeData
Definition: ntfs.h:168
unsigned int BOOL
Definition: ntddk_ex.h:94
ULONG Handle
Definition: gdb_input.c:15
GLuint in
Definition: glext.h:9616
ObjectType
Definition: metafile.c:81
static WCHAR password[]
Definition: url.c:33
#define _In_
Definition: ms_sal.h:308
unsigned int UINT
Definition: ndis.h:50
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
Definition: ndis.h:4715
_In_ ULONG _In_ ACCESS_MASK _In_ PSID Sid
Definition: rtlfuncs.h:1133
ULONG ACCESS_MASK
Definition: nt_native.h:40
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
enum _DOMAIN_SERVER_ROLE DOMAIN_SERVER_ROLE
enum _DOMAIN_DISPLAY_INFORMATION DOMAIN_DISPLAY_INFORMATION
enum _DOMAIN_SERVER_ENABLE_STATE DOMAIN_SERVER_ENABLE_STATE
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
unsigned short USHORT
Definition: pedump.c:61
static FILE * out
Definition: regtests2xml.c:44
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
LPWSTR Name
Definition: samsrv.h:51
HANDLE KeyHandle
Definition: samsrv.h:52
ULONG RefCount
Definition: samsrv.h:49
BOOLEAN Trusted
Definition: samsrv.h:55
ACCESS_MASK Access
Definition: samsrv.h:50
SAM_DB_OBJECT_TYPE ObjectType
Definition: samsrv.h:48
ULONG RelativeId
Definition: samsrv.h:54
HANDLE MembersKeyHandle
Definition: samsrv.h:53
struct _SAM_DB_OBJECT * ParentObject
Definition: samsrv.h:56
ULONG Signature
Definition: samsrv.h:47
DOMAIN_SERVER_ENABLE_STATE DomainServerState
Definition: samsrv.h:85
LARGE_INTEGER CreationTime
Definition: samsrv.h:72
USHORT PasswordHistoryLength
Definition: samsrv.h:83
LARGE_INTEGER LockoutObservationWindow
Definition: samsrv.h:78
DOMAIN_SERVER_ROLE DomainServerRole
Definition: samsrv.h:86
LARGE_INTEGER MaxPasswordAge
Definition: samsrv.h:74
LARGE_INTEGER LockoutDuration
Definition: samsrv.h:77
USHORT LockoutThreshold
Definition: samsrv.h:84
BOOLEAN UasCompatibilityRequired
Definition: samsrv.h:87
USHORT MinPasswordLength
Definition: samsrv.h:82
LARGE_INTEGER ModifiedCountAtLastPromotion
Definition: samsrv.h:79
LARGE_INTEGER MinPasswordAge
Definition: samsrv.h:75
LARGE_INTEGER DomainModifiedCount
Definition: samsrv.h:73
LARGE_INTEGER ForceLogoff
Definition: samsrv.h:76
ULONG PasswordProperties
Definition: samsrv.h:81
LARGE_INTEGER LastBadPasswordTime
Definition: samsrv.h:106
LARGE_INTEGER AccountExpires
Definition: samsrv.h:105
ULONG UserAccountControl
Definition: samsrv.h:109
LARGE_INTEGER LastLogon
Definition: samsrv.h:102
ULONG PrimaryGroupId
Definition: samsrv.h:108
LARGE_INTEGER PasswordLastSet
Definition: samsrv.h:104
USHORT BadPasswordCount
Definition: samsrv.h:112
USHORT CountryCode
Definition: samsrv.h:110
LARGE_INTEGER LastLogoff
Definition: samsrv.h:103
USHORT OperatorCount
Definition: samsrv.h:115
Definition: _hash_fun.h:40
Definition: copy.c:22
uint32_t * PULONG
Definition: typedefs.h:59
unsigned char * LPBYTE
Definition: typedefs.h:53
#define NTAPI
Definition: typedefs.h:36
int32_t INT
Definition: typedefs.h:58
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2658
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
Definition: wdfdevice.h:2699
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2433
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
Definition: wdfregistry.h:243
_In_ LPCSTR lpAccountName
Definition: winbase.h:2741
#define WINAPI
Definition: msvc.h:6
_In_ PVOID _Out_opt_ PULONG_PTR _Outptr_opt_ PCUNICODE_STRING * ObjectName
Definition: cmfuncs.h:64
const char * LPCSTR
Definition: xmlstorage.h:183
char * LPSTR
Definition: xmlstorage.h:182
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
unsigned char BYTE
Definition: xxhash.c:193