13#ifndef __NT_NATIVE_DEFS__H__
14#define __NT_NATIVE_DEFS__H__
48#define APIENTRY __stdcall
50#define FASTCALL _fastcall
57#define DELETE (0x00010000L)
58#define READ_CONTROL (0x00020000L)
59#define WRITE_DAC (0x00040000L)
60#define WRITE_OWNER (0x00080000L)
61#define SYNCHRONIZE (0x00100000L)
63#define STANDARD_RIGHTS_REQUIRED (0x000F0000L)
65#define STANDARD_RIGHTS_READ (READ_CONTROL)
66#define STANDARD_RIGHTS_WRITE (READ_CONTROL)
67#define STANDARD_RIGHTS_EXECUTE (READ_CONTROL)
69#define STANDARD_RIGHTS_ALL (0x001F0000L)
71#define SPECIFIC_RIGHTS_ALL (0x0000FFFFL)
77#define ACCESS_SYSTEM_SECURITY (0x01000000L)
83#define MAXIMUM_ALLOWED (0x02000000L)
89#define GENERIC_READ (0x80000000L)
90#define GENERIC_WRITE (0x40000000L)
91#define GENERIC_EXECUTE (0x20000000L)
92#define GENERIC_ALL (0x10000000L)
125#define RTL_QUERY_REGISTRY_SUBKEY 0x00000001
129#define RTL_QUERY_REGISTRY_TOPKEY 0x00000002
132#define RTL_QUERY_REGISTRY_REQUIRED 0x00000004
135#define RTL_QUERY_REGISTRY_NOVALUE 0x00000008
139#define RTL_QUERY_REGISTRY_NOEXPAND 0x00000010
144#define RTL_QUERY_REGISTRY_DIRECT 0x00000020
153#define RTL_QUERY_REGISTRY_DELETE 0x00000040
161#define RTL_REGISTRY_ABSOLUTE 0
162#define RTL_REGISTRY_SERVICES 1
163#define RTL_REGISTRY_CONTROL 2
164#define RTL_REGISTRY_WINDOWS_NT 3
165#define RTL_REGISTRY_DEVICEMAP 4
166#define RTL_REGISTRY_USER 5
167#define RTL_REGISTRY_MAXIMUM 6
168#define RTL_REGISTRY_HANDLE 0x40000000
169#define RTL_REGISTRY_OPTIONAL 0x80000000
207#define NLS_MB_CODE_PAGE_TAG NlsMbCodePageTag
208#define NLS_MB_OEM_CODE_PAGE_TAG NlsMbOemCodePageTag
212#define NLS_MB_CODE_PAGE_TAG (*NlsMbCodePageTag)
213#define NLS_MB_OEM_CODE_PAGE_TAG (*NlsMbOemCodePageTag)
404#define RtlAnsiStringToUnicodeSize(STRING) ( \
405 NLS_MB_CODE_PAGE_TAG ? \
406 RtlxAnsiStringToUnicodeSize(STRING) : \
407 ((STRING)->Length + sizeof((UCHAR)NULL)) * sizeof(WCHAR) \
415 PVOID FailedAssertion,
421#define ASSERT( exp ) \
423 RtlAssert( #exp, __FILE__, __LINE__, NULL )
425#define ASSERTMSG( msg, exp ) \
427 RtlAssert( #exp, __FILE__, __LINE__, msg )
431#define ASSERTMSG( msg, exp )
439#if defined(_M_IX86) || defined(_M_MRX000) || defined(_M_ALPHA)
441#if defined(_M_MRX000)
452#define RtlEqualMemory(Destination,Source,Length) (!memcmp((Destination),(Source),(Length)))
455#define RtlMoveMemory(Destination,Source,Length) memmove((Destination),(Source),(Length))
456#define RtlCopyMemory(Destination,Source,Length) memcpy((Destination),(Source),(Length))
457#define RtlFillMemory(Destination,Length,Fill) memset((Destination),(Fill),(Length))
458#define RtlZeroMemory(Destination,Length) memset((Destination),0,(Length))
578#define DEVICE_TYPE ULONG
586#define CTL_CODE( DeviceType, Function, Method, Access ) ( \
587 ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
594#define METHOD_BUFFERED 0
595#define METHOD_IN_DIRECT 1
596#define METHOD_OUT_DIRECT 2
597#define METHOD_NEITHER 3
609#define FILE_ANY_ACCESS 0
610#define FILE_READ_ACCESS ( 0x0001 )
611#define FILE_WRITE_ACCESS ( 0x0002 )
628#define FILE_READ_DATA ( 0x0001 )
629#define FILE_LIST_DIRECTORY ( 0x0001 )
631#define FILE_WRITE_DATA ( 0x0002 )
632#define FILE_ADD_FILE ( 0x0002 )
634#define FILE_APPEND_DATA ( 0x0004 )
635#define FILE_ADD_SUBDIRECTORY ( 0x0004 )
636#define FILE_CREATE_PIPE_INSTANCE ( 0x0004 )
638#define FILE_READ_EA ( 0x0008 )
640#define FILE_WRITE_EA ( 0x0010 )
642#define FILE_EXECUTE ( 0x0020 )
643#define FILE_TRAVERSE ( 0x0020 )
645#define FILE_DELETE_CHILD ( 0x0040 )
647#define FILE_READ_ATTRIBUTES ( 0x0080 )
649#define FILE_WRITE_ATTRIBUTES ( 0x0100 )
651#define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF)
653#define FILE_GENERIC_READ (STANDARD_RIGHTS_READ |\
655 FILE_READ_ATTRIBUTES |\
660#define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE |\
662 FILE_WRITE_ATTRIBUTES |\
668#define FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE |\
669 FILE_READ_ATTRIBUTES |\
680#define FILE_SHARE_READ 0x00000001
681#define FILE_SHARE_WRITE 0x00000002
682#define FILE_SHARE_DELETE 0x00000004
683#define FILE_SHARE_VALID_FLAGS 0x00000007
702#define FILE_ATTRIBUTE_READONLY 0x00000001
703#define FILE_ATTRIBUTE_HIDDEN 0x00000002
704#define FILE_ATTRIBUTE_SYSTEM 0x00000004
705#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
706#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
707#define FILE_ATTRIBUTE_NORMAL 0x00000080
708#define FILE_ATTRIBUTE_TEMPORARY 0x00000100
709#define FILE_ATTRIBUTE_RESERVED0 0x00000200
710#define FILE_ATTRIBUTE_RESERVED1 0x00000400
711#define FILE_ATTRIBUTE_COMPRESSED 0x00000800
712#define FILE_ATTRIBUTE_OFFLINE 0x00001000
713#define FILE_ATTRIBUTE_PROPERTY_SET 0x00002000
714#define FILE_ATTRIBUTE_VALID_FLAGS 0x00003fb7
715#define FILE_ATTRIBUTE_VALID_SET_FLAGS 0x00003fa7
721#define FILE_SUPERSEDE 0x00000000
722#define FILE_OPEN 0x00000001
723#define FILE_CREATE 0x00000002
724#define FILE_OPEN_IF 0x00000003
725#define FILE_OVERWRITE 0x00000004
726#define FILE_OVERWRITE_IF 0x00000005
727#define FILE_MAXIMUM_DISPOSITION 0x00000005
734#define FILE_DIRECTORY_FILE 0x00000001
735#define FILE_WRITE_THROUGH 0x00000002
736#define FILE_SEQUENTIAL_ONLY 0x00000004
737#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008
739#define FILE_SYNCHRONOUS_IO_ALERT 0x00000010
740#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020
741#define FILE_NON_DIRECTORY_FILE 0x00000040
742#define FILE_CREATE_TREE_CONNECTION 0x00000080
744#define FILE_COMPLETE_IF_OPLOCKED 0x00000100
745#define FILE_NO_EA_KNOWLEDGE 0x00000200
747#define FILE_RANDOM_ACCESS 0x00000800
749#define FILE_DELETE_ON_CLOSE 0x00001000
750#define FILE_OPEN_BY_FILE_ID 0x00002000
751#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000
752#define FILE_NO_COMPRESSION 0x00008000
755#define FILE_RESERVE_OPFILTER 0x00100000
756#define FILE_TRANSACTED_MODE 0x00200000
757#define FILE_OPEN_OFFLINE_FILE 0x00400000
759#define FILE_VALID_OPTION_FLAGS 0x007fffff
760#define FILE_VALID_PIPE_OPTION_FLAGS 0x00000032
761#define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032
762#define FILE_VALID_SET_FLAGS 0x00000036
768#define FILE_SUPERSEDED 0x00000000
769#define FILE_OPENED 0x00000001
770#define FILE_CREATED 0x00000002
771#define FILE_OVERWRITTEN 0x00000003
772#define FILE_EXISTS 0x00000004
773#define FILE_DOES_NOT_EXIST 0x00000005
779#define FILE_WRITE_TO_END_OF_FILE 0xffffffff
780#define FILE_USE_FILE_POINTER_POSITION 0xfffffffe
786#define FILE_BYTE_ALIGNMENT 0x00000000
787#define FILE_WORD_ALIGNMENT 0x00000001
788#define FILE_LONG_ALIGNMENT 0x00000003
789#define FILE_QUAD_ALIGNMENT 0x00000007
790#define FILE_OCTA_ALIGNMENT 0x0000000f
791#define FILE_32_BYTE_ALIGNMENT 0x0000001f
792#define FILE_64_BYTE_ALIGNMENT 0x0000003f
793#define FILE_128_BYTE_ALIGNMENT 0x0000007f
794#define FILE_256_BYTE_ALIGNMENT 0x000000ff
795#define FILE_512_BYTE_ALIGNMENT 0x000001ff
801#define MAXIMUM_FILENAME_LENGTH 256
807#define FILE_REMOVABLE_MEDIA 0x00000001
808#define FILE_READ_ONLY_DEVICE 0x00000002
809#define FILE_FLOPPY_DISKETTE 0x00000004
810#define FILE_WRITE_ONCE_MEDIA 0x00000008
811#define FILE_REMOTE_DEVICE 0x00000010
812#define FILE_DEVICE_IS_MOUNTED 0x00000020
813#define FILE_VIRTUAL_VOLUME 0x00000040
815#ifndef _FILESYSTEMFSCTL_
816#define _FILESYSTEMFSCTL_
826#define FSCTL_REQUEST_OPLOCK_LEVEL_1 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
827#define FSCTL_REQUEST_OPLOCK_LEVEL_2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
828#define FSCTL_REQUEST_BATCH_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
829#define FSCTL_OPLOCK_BREAK_ACKNOWLEDGE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
830#define FSCTL_OPBATCH_ACK_CLOSE_PENDING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
831#define FSCTL_OPLOCK_BREAK_NOTIFY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
832#define FSCTL_LOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
833#define FSCTL_UNLOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
834#define FSCTL_DISMOUNT_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
836#define FSCTL_IS_VOLUME_MOUNTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
837#define FSCTL_IS_PATHNAME_VALID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)
838#define FSCTL_MARK_VOLUME_DIRTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
840#define FSCTL_QUERY_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 14, METHOD_NEITHER, FILE_ANY_ACCESS)
841#define FSCTL_GET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
842#define FSCTL_SET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 16, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
845#define FSCTL_MARK_AS_SYSTEM_HIVE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 19, METHOD_NEITHER, FILE_ANY_ACCESS)
846#define FSCTL_OPLOCK_BREAK_ACK_NO_2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 20, METHOD_BUFFERED, FILE_ANY_ACCESS)
847#define FSCTL_INVALIDATE_VOLUMES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
848#define FSCTL_QUERY_FAT_BPB CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
849#define FSCTL_REQUEST_FILTER_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 23, METHOD_BUFFERED, FILE_ANY_ACCESS)
850#define FSCTL_FILESYSTEM_GET_STATISTICS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 24, METHOD_BUFFERED, FILE_ANY_ACCESS)
851#if(_WIN32_WINNT >= 0x0400)
852#define FSCTL_GET_NTFS_VOLUME_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 25, METHOD_BUFFERED, FILE_ANY_ACCESS)
853#define FSCTL_GET_NTFS_FILE_RECORD CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 26, METHOD_BUFFERED, FILE_ANY_ACCESS)
854#define FSCTL_GET_VOLUME_BITMAP CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 27, METHOD_NEITHER, FILE_ANY_ACCESS)
855#define FSCTL_GET_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 28, METHOD_NEITHER, FILE_ANY_ACCESS)
856#define FSCTL_MOVE_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 29, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
857#define FSCTL_IS_VOLUME_DIRTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 30, METHOD_BUFFERED, FILE_ANY_ACCESS)
859#define FSCTL_ALLOW_EXTENDED_DASD_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 32, METHOD_NEITHER, FILE_ANY_ACCESS)
1016#define KEY_QUERY_VALUE (0x0001)
1017#define KEY_SET_VALUE (0x0002)
1018#define KEY_CREATE_SUB_KEY (0x0004)
1019#define KEY_ENUMERATE_SUB_KEYS (0x0008)
1020#define KEY_NOTIFY (0x0010)
1021#define KEY_CREATE_LINK (0x0020)
1023#define KEY_READ ((STANDARD_RIGHTS_READ |\
1025 KEY_ENUMERATE_SUB_KEYS |\
1031#define KEY_WRITE ((STANDARD_RIGHTS_WRITE |\
1033 KEY_CREATE_SUB_KEY) \
1037#define KEY_EXECUTE ((KEY_READ) \
1041#define KEY_ALL_ACCESS ((STANDARD_RIGHTS_ALL |\
1044 KEY_CREATE_SUB_KEY |\
1045 KEY_ENUMERATE_SUB_KEYS |\
1055#define REG_OPTION_RESERVED (0x00000000L)
1057#define REG_OPTION_NON_VOLATILE (0x00000000L)
1060#define REG_OPTION_VOLATILE (0x00000001L)
1063#define REG_OPTION_CREATE_LINK (0x00000002L)
1066#define REG_OPTION_BACKUP_RESTORE (0x00000004L)
1070#define REG_OPTION_OPEN_LINK (0x00000008L)
1072#define REG_LEGAL_OPTION \
1073 (REG_OPTION_RESERVED |\
1074 REG_OPTION_NON_VOLATILE |\
1075 REG_OPTION_VOLATILE |\
1076 REG_OPTION_CREATE_LINK |\
1077 REG_OPTION_BACKUP_RESTORE |\
1078 REG_OPTION_OPEN_LINK)
1084#define REG_CREATED_NEW_KEY (0x00000001L)
1085#define REG_OPENED_EXISTING_KEY (0x00000002L)
1091#define REG_WHOLE_HIVE_VOLATILE (0x00000001L)
1092#define REG_REFRESH_HIVE (0x00000002L)
1093#define REG_NO_LAZY_FLUSH (0x00000004L)
1240#define OBJ_NAME_PATH_SEPARATOR ((WCHAR)L'\\')
1246#define OBJECT_TYPE_CREATE (0x0001)
1248#define OBJECT_TYPE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)
1254#define DIRECTORY_QUERY (0x0001)
1255#define DIRECTORY_TRAVERSE (0x0002)
1256#define DIRECTORY_CREATE_OBJECT (0x0004)
1257#define DIRECTORY_CREATE_SUBDIRECTORY (0x0008)
1259#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)
1265#define SYMBOLIC_LINK_QUERY (0x0001)
1267#define SYMBOLIC_LINK_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)
1287#define SECTION_QUERY 0x0001
1288#define SECTION_MAP_WRITE 0x0002
1289#define SECTION_MAP_READ 0x0004
1290#define SECTION_MAP_EXECUTE 0x0008
1291#define SECTION_EXTEND_SIZE 0x0010
1293#define SECTION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SECTION_QUERY|\
1294 SECTION_MAP_WRITE | \
1295 SECTION_MAP_READ | \
1296 SECTION_MAP_EXECUTE | \
1297 SECTION_EXTEND_SIZE)
1300#define SEGMENT_ALL_ACCESS SECTION_ALL_ACCESS
1302#define PAGE_NOACCESS 0x01
1303#define PAGE_READONLY 0x02
1304#define PAGE_READWRITE 0x04
1305#define PAGE_WRITECOPY 0x08
1306#define PAGE_EXECUTE 0x10
1307#define PAGE_EXECUTE_READ 0x20
1308#define PAGE_EXECUTE_READWRITE 0x40
1309#define PAGE_EXECUTE_WRITECOPY 0x80
1310#define PAGE_GUARD 0x100
1311#define PAGE_NOCACHE 0x200
1313#define MEM_COMMIT 0x1000
1314#define MEM_RESERVE 0x2000
1315#define MEM_DECOMMIT 0x4000
1316#define MEM_RELEASE 0x8000
1317#define MEM_FREE 0x10000
1318#define MEM_PRIVATE 0x20000
1319#define MEM_MAPPED 0x40000
1320#define MEM_RESET 0x80000
1321#define MEM_TOP_DOWN 0x100000
1322#define MEM_LARGE_PAGES 0x20000000
1323#define SEC_RESERVE 0x4000000
1324#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \
1328#define MAXIMUM_PROCESSORS 32
1336#define THREAD_TERMINATE (0x0001)
1337#define THREAD_SET_INFORMATION (0x0020)
1339#define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | \
1356#define SIZE_OF_80387_REGISTERS 80
1362#if !defined(RC_INVOKED)
1364#define CONTEXT_i386 0x00010000
1365#define CONTEXT_i486 0x00010000
1369#define CONTEXT_CONTROL (CONTEXT_i386 | 0x00000001L)
1370#define CONTEXT_INTEGER (CONTEXT_i386 | 0x00000002L)
1371#define CONTEXT_SEGMENTS (CONTEXT_i386 | 0x00000004L)
1372#define CONTEXT_FLOATING_POINT (CONTEXT_i386 | 0x00000008L)
1373#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386 | 0x00000010L)
1375#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER |\
1492#define REG_NONE ( 0 )
1494#define REG_EXPAND_SZ ( 2 )
1496#define REG_BINARY ( 3 )
1497#define REG_DWORD ( 4 )
1498#define REG_DWORD_LITTLE_ENDIAN ( 4 )
1499#define REG_DWORD_BIG_ENDIAN ( 5 )
1500#define REG_LINK ( 6 )
1501#define REG_MULTI_SZ ( 7 )
1502#define REG_RESOURCE_LIST ( 8 )
1503#define REG_FULL_RESOURCE_DESCRIPTOR ( 9 )
1504#define REG_RESOURCE_REQUIREMENTS_LIST ( 10 )
1657#define NtCurrentProcess() ( (HANDLE) -1 )
1692#define HEAP_NO_SERIALIZE 0x00000001
1693#define HEAP_GROWABLE 0x00000002
1694#define HEAP_GENERATE_EXCEPTIONS 0x00000004
1695#define HEAP_ZERO_MEMORY 0x00000008
1696#define HEAP_REALLOC_IN_PLACE_ONLY 0x00000010
1697#define HEAP_TAIL_CHECKING_ENABLED 0x00000020
1698#define HEAP_FREE_CHECKING_ENABLED 0x00000040
1699#define HEAP_DISABLE_COALESCE_ON_FREE 0x00000080
1701#define HEAP_CREATE_ALIGN_16 0x00010000
1702#define HEAP_CREATE_ENABLE_TRACING 0x00020000
1704#define HEAP_SETTABLE_USER_VALUE 0x00000100
1705#define HEAP_SETTABLE_USER_FLAG1 0x00000200
1706#define HEAP_SETTABLE_USER_FLAG2 0x00000400
1707#define HEAP_SETTABLE_USER_FLAG3 0x00000800
1708#define HEAP_SETTABLE_USER_FLAGS 0x00000E00
1710#define HEAP_CLASS_0 0x00000000
1711#define HEAP_CLASS_1 0x00001000
1712#define HEAP_CLASS_2 0x00002000
1713#define HEAP_CLASS_3 0x00003000
1714#define HEAP_CLASS_4 0x00004000
1715#define HEAP_CLASS_5 0x00005000
1716#define HEAP_CLASS_6 0x00006000
1717#define HEAP_CLASS_7 0x00007000
1718#define HEAP_CLASS_8 0x00008000
1719#define HEAP_CLASS_MASK 0x0000F000
1721#define HEAP_MAXIMUM_TAG 0x0FFF
1722#define HEAP_GLOBAL_TAG 0x0800
1723#define HEAP_PSEUDO_TAG_FLAG 0x8000
1724#define HEAP_TAG_SHIFT 16
1725#define HEAP_MAKE_TAG_FLAGS( b, o ) ((ULONG)((b) + ((o) << 16)))
1726#define HEAP_TAG_MASK (HEAP_MAXIMUM_TAG << HEAP_TAG_SHIFT)
1728#define HEAP_CREATE_VALID_MASK (HEAP_NO_SERIALIZE | \
1730 HEAP_GENERATE_EXCEPTIONS | \
1731 HEAP_ZERO_MEMORY | \
1732 HEAP_REALLOC_IN_PLACE_ONLY | \
1733 HEAP_TAIL_CHECKING_ENABLED | \
1734 HEAP_FREE_CHECKING_ENABLED | \
1735 HEAP_DISABLE_COALESCE_ON_FREE | \
1737 HEAP_CREATE_ALIGN_16 | \
1738 HEAP_CREATE_ENABLE_TRACING)
1867 IN ULONG FileInformationBufferLength,
1877 IN PVOID FileInformationBuffer,
1878 IN ULONG FileInformationBufferLength,
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 LineNumber
#define WriteBuffer(BaseIoAddress, Buffer, Count)
#define ReadBuffer(BaseIoAddress, Buffer, Count)
_In_ PFCB _In_ LONGLONG FileOffset
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
static const WCHAR Message[]
void Fill(HDC hdc, LONG x, LONG y, COLORREF color)
_In_ PIO_STACK_LOCATION _Inout_ PFILE_OBJECT _Inout_ PVCB _Outptr_result_maybenull_ PDCB _In_ PDCB _In_ PDIRENT _In_ ULONG _In_ ULONG _In_ PUNICODE_STRING _In_ PACCESS_MASK _In_ USHORT ShareAccess
#define RtlCompareMemory(s1, s2, l)
IN PVCB IN PDIRENT OUT PULONG EaLength
IN PFCB IN PFILE_OBJECT FileObject IN ULONG AllocationSize
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE _In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG FileAttributes
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE FileHandle
enum _FILE_INFORMATION_CLASS FILE_INFORMATION_CLASS
_In_ GUID _In_ PVOID ValueData
#define RtlFillMemory(Dest, Length, Fill)
#define RtlEqualMemory(dst, src, len)
_In_ BOOL _In_ HANDLE hProcess
static OUT PIO_STATUS_BLOCK IoStatusBlock
static ACCESS_MASK const OBJECT_ATTRIBUTES ULONG TitleIndex
static PLARGE_INTEGER Time
static PTIME_FIELDS TimeFields
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
_In_ ULONG _In_ KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass
_In_ PVOID _In_ BOOLEAN Alertable
_In_ ACCESS_MASK AccessMask
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID ApcContext
_In_ HANDLE ProcessHandle
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID _In_ ULONG_PTR _In_ SIZE_T CommitSize
_In_ const STRING * String2
_Out_ _Inout_ POEM_STRING _In_ PCUNICODE_STRING SourceString
_In_ const STRING _In_ BOOLEAN CaseInSensitive
_In_ PCWSTR _Inout_ _At_ QueryTable EntryContext
_In_ PSID _In_ BOOLEAN AllocateDestinationString
_In_ PUNICODE_STRING _Inout_ PUNICODE_STRING Destination
_Out_ _Inout_ POEM_STRING DestinationString
NTSYSAPI PVOID NTAPI RtlDestroyHeap(IN PVOID HeapHandle)
struct STARTUP_ARGUMENT * PSTARTUP_ARGUMENT
NTSYSAPI VOID NTAPI RtlCopyUnicodeString(PUNICODE_STRING DestinationString, PUNICODE_STRING SourceString)
struct _KEY_VALUE_BASIC_INFORMATION KEY_VALUE_BASIC_INFORMATION
struct _FILE_FULL_EA_INFORMATION * PFILE_FULL_EA_INFORMATION
struct _KTHREAD * PKTHREAD
struct _TIME_FIELDS TIME_FIELDS
NTSYSAPI NTSTATUS NTAPI NtOpenFile(OUT PHANDLE phFile, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, OUT PIO_STATUS_BLOCK pIoStatusBlock, IN ULONG ShareMode, IN ULONG OpenMode)
@ FilePositionInformation
@ FileMoveClusterInformation
@ FileInheritContentIndexInformation
@ FilePipeLocalInformation
@ FileEndOfFileInformation
@ FileCompressionInformation
@ FileOleDirectoryInformation
@ FilePipeRemoteInformation
@ FileInternalInformation
@ FileStandardInformation
@ FileDirectoryInformation
@ FileContentIndexInformation
@ FileOleStateBitsInformation
@ FileAlignmentInformation
@ FileObjectIdInformation
@ FileAlternateNameInformation
@ FileCopyOnWriteInformation
@ FileMailslotSetInformation
@ FileMailslotQueryInformation
@ FileAllocationInformation
@ FileCompletionInformation
@ FileFullDirectoryInformation
@ FileOleClassIdInformation
@ FileNetworkOpenInformation
@ FileDispositionInformation
@ FileBothDirectoryInformation
NTSYSAPI NTSTATUS NTAPI RtlUnicodeStringToAnsiString(PANSI_STRING DestinationString, PUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
TIME_FIELDS * PTIME_FIELDS
NTSYSAPI NTSTATUS NTAPI NtOpenKey(OUT PHANDLE KeyHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes)
enum _FSINFOCLASS * PFS_INFORMATION_CLASS
NTSYSAPI NTSTATUS NTAPI NtReadFile(IN HANDLE hFile, IN HANDLE hEvent OPTIONAL, IN PIO_APC_ROUTINE IoApcRoutine OPTIONAL, IN PVOID IoApcContext OPTIONAL, OUT PIO_STATUS_BLOCK pIoStatusBlock, OUT PVOID ReadBuffer, IN ULONG ReadBufferLength, IN PLARGE_INTEGER FileOffset OPTIONAL, IN PULONG LockOperationKey)
NTSYSAPI LONG NTAPI RtlCompareUnicodeString(PUNICODE_STRING String1, PUNICODE_STRING String2, BOOLEAN CaseInSensitive)
struct _FILE_NETWORK_OPEN_INFORMATION FILE_NETWORK_OPEN_INFORMATION
NTSTATUS NTAPI NtDisplayString(PUNICODE_STRING String)
NTSYSAPI BOOLEAN NTAPI RtlTimeFieldsToTime(PTIME_FIELDS TimeFields, PLARGE_INTEGER Time)
NTSYSAPI NTSTATUS NTAPI NtSetValueKey(IN HANDLE KeyHandle, IN PUNICODE_STRING ValueName, IN ULONG TitleIndex OPTIONAL, IN ULONG Type, IN PVOID Data, IN ULONG DataSize)
struct _KEY_VALUE_FULL_INFORMATION KEY_VALUE_FULL_INFORMATION
struct _KEY_NODE_INFORMATION * PKEY_NODE_INFORMATION
enum _FILE_INFORMATION_CLASS * PFILE_INFORMATION_CLASS
NTSYSAPI VOID NTAPI RtlFreeAnsiString(PANSI_STRING AnsiString)
#define NLS_MB_OEM_CODE_PAGE_TAG
struct _CALLBACK_OBJECT * PCALLBACK_OBJECT
FLOATING_SAVE_AREA * PFLOATING_SAVE_AREA
_KEY_VALUE_INFORMATION_CLASS
@ KeyValueBasicInformation
@ KeyValuePartialInformation
@ KeyValueFullInformation
enum _KEY_SET_INFORMATION_CLASS KEY_SET_INFORMATION_CLASS
NTSYSAPI NTSTATUS NTAPI RtlAppendUnicodeStringToString(PUNICODE_STRING Destination, PUNICODE_STRING Source)
struct _FILE_BASIC_INFORMATION FILE_BASIC_INFORMATION
struct StackInfo_t * PSTACKINFO
NTSYSAPI VOID NTAPI RtlInitString(PSTRING DestinationString, PCSZ SourceString)
struct _FILE_STANDARD_INFORMATION * PFILE_STANDARD_INFORMATION
struct _FILE_NETWORK_OPEN_INFORMATION * PFILE_NETWORK_OPEN_INFORMATION
struct _CLIENT_ID CLIENT_ID
NTSYSAPI NTSTATUS NTAPI NtWriteFile(IN HANDLE hFile, IN HANDLE hEvent OPTIONAL, IN PIO_APC_ROUTINE IoApcRoutine OPTIONAL, IN PVOID IoApcContext OPTIONAL, OUT PIO_STATUS_BLOCK pIoStatusBlock, IN PVOID WriteBuffer, IN ULONG WriteBufferLength, IN PLARGE_INTEGER FileOffset OPTIONAL, IN PULONG LockOperationKey OPTIONAL)
NTSYSAPI VOID NTAPI RtlCopyString(PSTRING DestinationString, PSTRING SourceString)
struct _DEVICE_HANDLER_OBJECT * PDEVICE_HANDLER_OBJECT
NTSTATUS NtTerminateThread(IN HANDLE ThreadHandle OPTIONAL, IN NTSTATUS ExitStatus)
struct _FLOATING_SAVE_AREA FLOATING_SAVE_AREA
NTSYSAPI NTSTATUS NTAPI NtDeleteValueKey(IN HANDLE KeyHandle, IN PUNICODE_STRING ValueName)
ACCESS_MASK * PACCESS_MASK
struct _KEY_BASIC_INFORMATION KEY_BASIC_INFORMATION
struct _GENERIC_MAPPING GENERIC_MAPPING
enum _FILE_INFORMATION_CLASS FILE_INFORMATION_CLASS
NTSYSAPI CHAR NTAPI RtlUpperChar(CHAR Character)
struct _FILE_FS_DEVICE_INFORMATION * PFILE_FS_DEVICE_INFORMATION
NTSYSAPI NTSTATUS NTAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString, PANSI_STRING SourceString, BOOLEAN AllocateDestinationString)
struct _RTL_QUERY_REGISTRY_TABLE * PRTL_QUERY_REGISTRY_TABLE
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
struct _KINTERRUPT * PKINTERRUPT
struct _KEY_VALUE_ENTRY KEY_VALUE_ENTRY
struct _IO_STATUS_BLOCK IO_STATUS_BLOCK
NTSYSAPI BOOLEAN NTAPI RtlEqualUnicodeString(PUNICODE_STRING String1, PUNICODE_STRING String2, BOOLEAN CaseInSensitive)
struct _KEY_NODE_INFORMATION KEY_NODE_INFORMATION
struct _KEY_WRITE_TIME_INFORMATION KEY_WRITE_TIME_INFORMATION
NTSYSAPI PVOID NTAPI RtlCreateHeap(IN ULONG Flags, IN PVOID HeapBase OPTIONAL, IN ULONG ReserveSize OPTIONAL, IN ULONG CommitSize OPTIONAL, IN PVOID Lock OPTIONAL, IN PRTL_HEAP_PARAMETERS Parameters OPTIONAL)
struct _KEY_BASIC_INFORMATION * PKEY_BASIC_INFORMATION
NTSTATUS NTAPI NtTerminateProcess(HANDLE ProcessHandle, LONG ExitStatus)
NTSYSAPI NTSTATUS NTAPI NtSetInformationFile(IN HANDLE hFile, OUT PIO_STATUS_BLOCK pIoStatusBlock, IN PVOID FileInformationBuffer, IN ULONG FileInformationBufferLength, IN FILE_INFORMATION_CLASS FileInfoClass)
NTSYSAPI NTSTATUS NTAPI NtQueryValueKey(IN HANDLE KeyHandle, IN PUNICODE_STRING ValueName, IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, IN PVOID KeyValueInformation, IN ULONG Length, IN PULONG ResultLength)
NTSYSAPI NTSTATUS NTAPI NtQueryInformationFile(IN HANDLE hFile, OUT PIO_STATUS_BLOCK pIoStatusBlock, OUT PVOID FileInformationBuffer, IN ULONG FileInformationBufferLength, IN FILE_INFORMATION_CLASS FileInfoClass)
NTSYSAPI NTSTATUS NTAPI RtlUnicodeStringToInteger(PUNICODE_STRING String, ULONG Base, PULONG Value)
struct _KEY_VALUE_ENTRY * PKEY_VALUE_ENTRY
struct _FILE_FS_DEVICE_INFORMATION FILE_FS_DEVICE_INFORMATION
struct _FILE_POSITION_INFORMATION FILE_POSITION_INFORMATION
struct _IO_STATUS_BLOCK * PIO_STATUS_BLOCK
struct _KEY_FULL_INFORMATION KEY_FULL_INFORMATION
struct StackInfo_t STACKINFO
enum _SECTION_INHERIT SECTION_INHERIT
struct _OBJECT_NAME_INFORMATION OBJECT_NAME_INFORMATION
NTSYSAPI NTSTATUS NTAPI NtDeviceIoControlFile(IN HANDLE hFile, IN HANDLE hEvent OPTIONAL, IN PIO_APC_ROUTINE IoApcRoutine OPTIONAL, IN PVOID IoApcContext OPTIONAL, OUT PIO_STATUS_BLOCK pIoStatusBlock, IN ULONG DeviceIoControlCode, IN PVOID InBuffer OPTIONAL, IN ULONG InBufferLength, OUT PVOID OutBuffer OPTIONAL, IN ULONG OutBufferLength)
struct RTL_HEAP_DEFINITION * PRTL_HEAP_DEFINITION
struct _FILE_END_OF_FILE_INFORMATION * PFILE_END_OF_FILE_INFORMATION
NTSYSAPI VOID NTAPI RtlCopyMemory32(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
_KEY_SET_INFORMATION_CLASS
@ KeyWriteTimeInformation
struct _OBJECT_NAME_INFORMATION * POBJECT_NAME_INFORMATION
struct _FILE_BASIC_INFORMATION * PFILE_BASIC_INFORMATION
struct _FILE_DISPOSITION_INFORMATION FILE_DISPOSITION_INFORMATION
struct _FILE_ALIGNMENT_INFORMATION FILE_ALIGNMENT_INFORMATION
struct _BUS_HANDLER * PBUS_HANDLER
@ FileFsControlInformation
@ FileFsDeviceInformation
@ FileFsQuotaSetInformation
@ FileFsAttributeInformation
@ FileFsVolumeInformation
@ FileFsMaximumInformation
@ FileFsQuotaQueryInformation
struct _KEY_VALUE_PARTIAL_INFORMATION KEY_VALUE_PARTIAL_INFORMATION
struct _EPROCESS * PEPROCESS
enum _KEY_VALUE_INFORMATION_CLASS KEY_VALUE_INFORMATION_CLASS
NTSYSAPI NTSTATUS NTAPI NtEnumerateKey(IN HANDLE KeyHandle, IN ULONG Index, IN KEY_INFORMATION_CLASS KeyInformationClass, IN PVOID KeyInformation, IN ULONG Length, IN PULONG ResultLength)
NTSTATUS NTAPI NtDelayExecution(IN BOOLEAN Alertable, IN PLARGE_INTEGER DelayInterval)
NTSYSAPI VOID NTAPI RtlTimeToTimeFields(PLARGE_INTEGER Time, PTIME_FIELDS TimeFields)
NTSYSAPI NTSTATUS NTAPI RtlIntegerToUnicodeString(ULONG Value, ULONG Base, PUNICODE_STRING String)
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
struct ENVIRONMENT_INFORMATION * PENVIRONMENT_INFORMATION
struct _OBJECT_TYPE * POBJECT_TYPE
enum _KEY_INFORMATION_CLASS KEY_INFORMATION_CLASS
NTSYSAPI LONG NTAPI RtlCompareString(PSTRING String1, PSTRING String2, BOOLEAN CaseInSensitive)
struct _FILE_ALIGNMENT_INFORMATION * PFILE_ALIGNMENT_INFORMATION
struct _KEY_WRITE_TIME_INFORMATION * PKEY_WRITE_TIME_INFORMATION
BOOLEAN NTAPI RtlFreeHeap(HANDLE Heap, ULONG Flags, PVOID Address)
struct _KEY_VALUE_PARTIAL_INFORMATION * PKEY_VALUE_PARTIAL_INFORMATION
struct _KEY_VALUE_BASIC_INFORMATION * PKEY_VALUE_BASIC_INFORMATION
GENERIC_MAPPING * PGENERIC_MAPPING
NTSYSAPI NTSTATUS NTAPI RtlAppendUnicodeToString(PUNICODE_STRING Destination, PWSTR Source)
struct _ETHREAD * PETHREAD
struct _FILE_STANDARD_INFORMATION FILE_STANDARD_INFORMATION
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
struct _RTL_HEAP_PARAMETERS * PRTL_HEAP_PARAMETERS
NTSYSAPI BOOLEAN NTAPI RtlEqualString(PSTRING String1, PSTRING String2, BOOLEAN CaseInSensitive)
NTSYSAPI BOOLEAN NTAPI RtlPrefixUnicodeString(IN PUNICODE_STRING String1, IN PUNICODE_STRING String2, IN BOOLEAN CaseInSensitive)
PVOID NTAPI RtlAllocateHeap(HANDLE Heap, ULONG Flags, ULONG Size)
enum _FSINFOCLASS FS_INFORMATION_CLASS
struct _RTL_QUERY_REGISTRY_TABLE RTL_QUERY_REGISTRY_TABLE
struct _FILE_DISPOSITION_INFORMATION * PFILE_DISPOSITION_INFORMATION
struct _KEY_FULL_INFORMATION * PKEY_FULL_INFORMATION
NTSYSAPI NTSTATUS NTAPI RtlUpcaseUnicodeString(PUNICODE_STRING DestinationString, PUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
struct _FILE_POSITION_INFORMATION * PFILE_POSITION_INFORMATION
NTSYSAPI NTSTATUS NTAPI NtWaitForSingleObject(IN HANDLE hObject, IN BOOLEAN bAlertable, IN PLARGE_INTEGER Timeout)
struct _FILE_FULL_EA_INFORMATION FILE_FULL_EA_INFORMATION
NTSTATUS NTAPI NtCreateFile(OUT PHANDLE FileHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, OUT PIO_STATUS_BLOCK IoStatusBlock, IN PLARGE_INTEGER AllocationSize OPTIONAL, IN ULONG FileAttributes, IN ULONG ShareAccess, IN ULONG CreateDisposition, IN ULONG CreateOptions, IN PVOID EaBuffer OPTIONAL, IN ULONG EaLength)
NTSYSAPI NTSTATUS NTAPI NtCreateThread(OUT PHANDLE phThread, IN ACCESS_MASK AccessMask, IN POBJECT_ATTRIBUTES ObjectAttributes, IN HANDLE hProcess, OUT PCLIENT_ID pClientId, IN PCONTEXT pContext, OUT PSTACKINFO pStackInfo, IN BOOLEAN bSuspended)
#define SIZE_OF_80387_REGISTERS
NTSYSAPI VOID NTAPI RtlUpperString(PSTRING DestinationString, PSTRING SourceString)
NTSYSAPI VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
NTSYSAPI NTSTATUS NTAPI NtFsControlFile(IN HANDLE hFile, IN HANDLE hEvent OPTIONAL, IN PIO_APC_ROUTINE IoApcRoutine OPTIONAL, IN PVOID IoApcContext OPTIONAL, OUT PIO_STATUS_BLOCK pIoStatusBlock, IN ULONG DeviceIoControlCode, IN PVOID InBuffer OPTIONAL, IN ULONG InBufferLength, OUT PVOID OutBuffer OPTIONAL, IN ULONG OutBufferLength)
struct _IO_TIMER * PIO_TIMER
VOID(* PIO_APC_ROUTINE)(IN PVOID ApcContext, IN PIO_STATUS_BLOCK IoStatusBlock, IN ULONG Reserved)
struct _KEY_VALUE_FULL_INFORMATION * PKEY_VALUE_FULL_INFORMATION
NTSYSAPI NTSTATUS NTAPI RtlCharToInteger(PCSZ String, ULONG Base, PULONG Value)
NTSTATUS(* PRTL_HEAP_COMMIT_ROUTINE)(IN PVOID Base, IN OUT PVOID *CommitAddress, IN OUT PULONG CommitSize)
NTSYSAPI ULONG NTAPI RtlxAnsiStringToUnicodeSize(PANSI_STRING AnsiString)
struct _FILE_END_OF_FILE_INFORMATION FILE_END_OF_FILE_INFORMATION
#define NLS_MB_CODE_PAGE_TAG
struct _RTL_HEAP_PARAMETERS RTL_HEAP_PARAMETERS
_In_ ULONG _In_ ULONG _In_ ULONG Length
VOID NTAPI RtlAssert(IN PVOID FailedAssertion, IN PVOID FileName, IN ULONG LineNumber, IN PCHAR Message OPTIONAL)
_In_ UCHAR _In_ ULONG _Out_ PUCHAR _Outptr_result_bytebuffer_ OutBufferLength PVOID * OutBuffer
_In_ UCHAR _In_ UCHAR OutBufferLength
PULONG MinorVersion OPTIONAL
PENVIRONMENT_INFORMATION Environment
ULONG OnePageBelowTopOfStack
FLOATING_SAVE_AREA FloatSave
UCHAR RegisterArea[SIZE_OF_80387_REGISTERS]
ACCESS_MASK GenericExecute
PUNICODE_STRING ValueName
ULONG DeCommitFreeBlockThreshold
PRTL_HEAP_COMMIT_ROUTINE CommitRoutine
ULONG VirtualMemoryThreshold
ULONG DeCommitTotalFreeThreshold
ULONG MaximumAllocationSize
PRTL_QUERY_REGISTRY_ROUTINE QueryRoutine
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define RtlMoveMemory(Destination, Source, Length)
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
_Must_inspect_result_ _In_ WDFQUEUE _In_opt_ WDFREQUEST _In_opt_ WDFFILEOBJECT _Inout_opt_ PWDF_REQUEST_PARAMETERS Parameters
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG _Out_opt_ PULONG CreateDisposition
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG CreateOptions
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_opt_ PULONG _Out_opt_ PULONG ValueType
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG ValueLength
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
_Reserved_ PVOID Reserved
_Must_inspect_result_ _In_ ULONG Flags
_In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG _In_ ULONG _In_ ULONG _In_ ULONG _In_opt_ PVOID EaBuffer
KSTART_ROUTINE * PKSTART_ROUTINE
_In_opt_ PVOID _In_opt_ SIZE_T ReserveSize
RTL_QUERY_REGISTRY_ROUTINE * PRTL_QUERY_REGISTRY_ROUTINE
_Inout_ PVOID * CommitAddress
_In_ ULONG _In_ KEY_INFORMATION_CLASS KeyInformationClass