31#error "Do not use this header, use NDK!"
47#define NT_SUCCESS(Status) (((NTSTATUS)(Status)) >= 0)
51#define NT_INFORMATION(Status) ((((ULONG)(Status)) >> 30) == 1)
55#define NT_WARNING(Status) ((((ULONG)(Status)) >> 30) == 2)
59#define NT_ERROR(Status) ((((ULONG)(Status)) >> 30) == 3)
164#define INTERNAL_TS_ACTIVE_CONSOLE_ID (*((volatile ULONG*)0x7ffe02d8))
165#define LOGONID_CURRENT ((ULONG)-1)
166#define SERVERNAME_CURRENT ((HANDLE)NULL)
169#define FILE_DIRECTORY_FILE 0x00000001
170#define FILE_WRITE_THROUGH 0x00000002
171#define FILE_SEQUENTIAL_ONLY 0x00000004
172#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008
173#define FILE_SYNCHRONOUS_IO_ALERT 0x00000010
174#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020
175#define FILE_NON_DIRECTORY_FILE 0x00000040
176#define FILE_CREATE_TREE_CONNECTION 0x00000080
177#define FILE_COMPLETE_IF_OPLOCKED 0x00000100
178#define FILE_NO_EA_KNOWLEDGE 0x00000200
179#define FILE_OPEN_REMOTE_INSTANCE 0x00000400
180#define FILE_RANDOM_ACCESS 0x00000800
181#define FILE_DELETE_ON_CLOSE 0x00001000
182#define FILE_OPEN_BY_FILE_ID 0x00002000
183#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000
184#define FILE_NO_COMPRESSION 0x00008000
185#if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
186#define FILE_OPEN_REQUIRING_OPLOCK 0x00010000
188#define FILE_RESERVE_OPFILTER 0x00100000
189#define FILE_OPEN_REPARSE_POINT 0x00200000
190#define FILE_OPEN_NO_RECALL 0x00400000
191#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000
194#define FILE_SUPERSEDED 0x00000000
195#define FILE_OPENED 0x00000001
196#define FILE_CREATED 0x00000002
197#define FILE_OVERWRITTEN 0x00000003
198#define FILE_EXISTS 0x00000004
199#define FILE_DOES_NOT_EXIST 0x00000005
201#define FILE_VALID_OPTION_FLAGS 0x00ffffff
202#define FILE_VALID_PIPE_OPTION_FLAGS 0x00000032
203#define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032
204#define FILE_VALID_SET_FLAGS 0x00000036
207#define FILE_SUPERSEDE 0x00000000
208#define FILE_OPEN 0x00000001
209#define FILE_CREATE 0x00000002
210#define FILE_OPEN_IF 0x00000003
211#define FILE_OVERWRITE 0x00000004
212#define FILE_OVERWRITE_IF 0x00000005
213#define FILE_MAXIMUM_DISPOSITION 0x00000005
225#define OBJ_INHERIT 0x00000002L
226#define OBJ_PERMANENT 0x00000010L
227#define OBJ_EXCLUSIVE 0x00000020L
228#define OBJ_CASE_INSENSITIVE 0x00000040L
229#define OBJ_OPENIF 0x00000080L
230#define OBJ_OPENLINK 0x00000100L
231#define OBJ_KERNEL_HANDLE 0x00000200L
232#define OBJ_FORCE_ACCESS_CHECK 0x00000400L
233#define OBJ_VALID_ATTRIBUTES 0x000007F2L
235#ifndef InitializeObjectAttributes
236#define InitializeObjectAttributes(p, n, a, r, s) \
238 (p)->Length = sizeof(OBJECT_ATTRIBUTES); \
239 (p)->RootDirectory = r; \
240 (p)->Attributes = a; \
241 (p)->ObjectName = n; \
242 (p)->SecurityDescriptor = s; \
243 (p)->SecurityQualityOfService = NULL; \
493#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8)
495#elif (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
598#define RtlMoveMemory(Dest,Source,Length) memmove((Dest),(Source),(Length))
599#define RtlFillMemory(Dest,Length,Fill) memset((Dest),(Fill),(Length))
600#define RtlZeroMemory(Dest,Length) RtlFillMemory((Dest),(Length),0)
_OBJECT_INFORMATION_CLASS
NTSTATUS NtQueryObject(IN HANDLE Handle, IN OBJECT_INFO_CLASS ObjectInformationClass, OUT PVOID ObjectInformation, IN ULONG ObjectInformationLength, OUT PULONG ReturnLength)
VOID(NTAPI * PPS_POST_PROCESS_INIT_ROUTINE)(VOID)
IN CINT OUT PVOID ObjectInformation
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
enum _THREADINFOCLASS THREADINFOCLASS
_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 _IRQL_requires_max_(irql)
IN PVCB IN PDIRENT OUT PULONG EaLength
IN PFCB IN PFILE_OBJECT FileObject IN ULONG AllocationSize
IN PDCB IN POEM_STRING OemName
_SYSTEM_INFORMATION_CLASS
enum _SYSTEM_INFORMATION_CLASS SYSTEM_INFORMATION_CLASS
_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
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN _In_ BOOLEAN _In_ ULONG CompletionFilter
_Inout_ PLIST_ENTRY _In_ PVOID _In_ PSTRING _In_ BOOLEAN WatchTree
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryInformationThread(_In_ HANDLE ThreadHandle, _In_ THREADINFOCLASS ThreadInformationClass, _Out_ PVOID ThreadInformation, _In_ ULONG ThreadInformationLength, _Out_opt_ PULONG ReturnLength)
struct _PUBLIC_OBJECT_BASIC_INFORMATION PUBLIC_OBJECT_BASIC_INFORMATION
@ FileDirectoryInformation
struct _SYSTEM_TIMEOFDAY_INFORMATION SYSTEM_TIMEOFDAY_INFORMATION
_In_ OBJECT_INFORMATION_CLASS ObjectInformationClass
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtRenameKey(_In_ HANDLE KeyHandle, _In_ PUNICODE_STRING NewName)
NTSTATUS NTAPI RtlUnicodeStringToOemString(POEM_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtDeviceIoControlFile(_In_ HANDLE FileHandle, _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG IoControlCode, _In_reads_bytes_opt_(InputBufferLength) PVOID InputBuffer, _In_ ULONG InputBufferLength, _Out_writes_bytes_opt_(OutputBufferLength) PVOID OutputBuffer, _In_ ULONG OutputBufferLength)
VOID(NTAPI * PPS_POST_PROCESS_INIT_ROUTINE)(VOID)
struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
struct _SYSTEM_LOOKASIDE_INFORMATION SYSTEM_LOOKASIDE_INFORMATION
BOOLEAN(WINAPI * PWINSTATIONQUERYINFORMATIONW)(HANDLE, ULONG, WINSTATIONINFOCLASS, PVOID, ULONG, PULONG)
VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtNotifyChangeMultipleKeys(_In_ HANDLE MasterKeyHandle, _In_opt_ ULONG Count, _In_reads_opt_(Count) OBJECT_ATTRIBUTES SubordinateObjects[], _In_opt_ HANDLE Event, _In_opt_ PIO_APC_ROUTINE ApcRoutine, _In_opt_ PVOID ApcContext, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG CompletionFilter, _In_ BOOLEAN WatchTree, _Out_writes_bytes_opt_(BufferSize) PVOID Buffer, _In_ ULONG BufferSize, _In_ BOOLEAN Asynchronous)
_When_(Status< 0, _Out_range_(>, 0)) _When_(Status >=0
const STRING * PCOEM_STRING
struct _SYSTEM_REGISTRY_QUOTA_INFORMATION SYSTEM_REGISTRY_QUOTA_INFORMATION
ULONG NTAPI RtlUniform(PULONG Seed)
VOID NTAPI RtlFreeOemString(POEM_STRING OemString)
struct _SYSTEM_BASIC_INFORMATION * PSYSTEM_BASIC_INFORMATION
enum _KEY_SET_INFORMATION_CLASS KEY_SET_INFORMATION_CLASS
struct __PUBLIC_OBJECT_TYPE_INFORMATION * PPUBLIC_OBJECT_TYPE_INFORMATION
struct _WINSTATIONINFORMATIONW * PWINSTATIONINFORMATIONW
struct _RTL_USER_PROCESS_PARAMETERS RTL_USER_PROCESS_PARAMETERS
VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
enum _OBJECT_INFORMATION_CLASS OBJECT_INFORMATION_CLASS
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtOpenFile(_Out_ PHANDLE FileHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG ShareAccess, _In_ ULONG OpenOptions)
enum _THREADINFOCLASS THREADINFOCLASS
NTSTATUS NTAPI RtlConvertSidToUnicodeString(PUNICODE_STRING UnicodeString, PSID Sid, BOOLEAN AllocateDestinationString)
enum _FILE_INFORMATION_CLASS FILE_INFORMATION_CLASS
struct _SYSTEM_PERFORMANCE_INFORMATION * PSYSTEM_PERFORMANCE_INFORMATION
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtSetInformationKey(_In_ HANDLE KeyHandle, _In_ _Strict_type_match_ KEY_SET_INFORMATION_CLASS KeySetInformationClass, _In_reads_bytes_(KeySetInformationLength) PVOID KeySetInformation, _In_ ULONG KeySetInformationLength)
struct _SYSTEM_BASIC_INFORMATION SYSTEM_BASIC_INFORMATION
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtCreateFile(_Out_ PHANDLE FileHandle, _In_ ACCESS_MASK DesiredAccess, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _Out_ PIO_STATUS_BLOCK IoStatusBlock, _In_opt_ PLARGE_INTEGER AllocationSize, _In_ ULONG FileAttributes, _In_ ULONG ShareAccess, _In_ ULONG CreateDisposition, _In_ ULONG CreateOptions, _In_reads_bytes_opt_(EaLength) PVOID EaBuffer, _In_ ULONG EaLength)
struct _KEY_VALUE_ENTRY KEY_VALUE_ENTRY
struct _LDR_DATA_TABLE_ENTRY * PLDR_DATA_TABLE_ENTRY
struct _IO_STATUS_BLOCK IO_STATUS_BLOCK
_In_ OBJECT_INFORMATION_CLASS _In_ ULONG _Out_opt_ PULONG ReturnLength
struct _LDR_DATA_TABLE_ENTRY LDR_DATA_TABLE_ENTRY
struct _SYSTEM_EXCEPTION_INFORMATION SYSTEM_EXCEPTION_INFORMATION
BOOLEAN NTAPI RtlTimeToSecondsSince1970(PLARGE_INTEGER Time, PULONG ElapsedSeconds)
struct _OBJECT_ATTRIBUTES * POBJECT_ATTRIBUTES
struct _PEB_LDR_DATA * PPEB_LDR_DATA
VOID(NTAPI * PIO_APC_ROUTINE)(_In_ PVOID ApcContext, _In_ PIO_STATUS_BLOCK IoStatusBlock, _In_ ULONG Reserved)
struct _PUBLIC_OBJECT_BASIC_INFORMATION * PPUBLIC_OBJECT_BASIC_INFORMATION
struct _KEY_VALUE_ENTRY * PKEY_VALUE_ENTRY
NTSTATUS NTAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString, PCANSI_STRING SourceString, BOOLEAN AllocateDestinationString)
struct _IO_STATUS_BLOCK * PIO_STATUS_BLOCK
struct _SYSTEM_INTERRUPT_INFORMATION * PSYSTEM_INTERRUPT_INFORMATION
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryInformationProcess(_In_ HANDLE ProcessHandle, _In_ PROCESSINFOCLASS ProcessInformationClass, _Out_ PVOID ProcessInformation, _In_ ULONG ProcessInformationLength, _Out_opt_ PULONG ReturnLength)
@ KeyWriteTimeInformation
@ KeySetVirtualizationInformation
@ KeyControlFlagsInformation
@ KeyWow64FlagsInformation
@ KeySetHandleTagsInformation
struct _WINSTATIONINFORMATIONW WINSTATIONINFORMATIONW
@ ProcessBreakOnTermination
@ ProcessBasicInformation
@ ProcessWow64Information
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQuerySystemInformation(_In_ SYSTEM_INFORMATION_CLASS SystemInformationClass, _Out_ PVOID SystemInformation, _In_ ULONG InformationLength, _Out_opt_ PULONG ResultLength)
struct _SYSTEM_TIMEOFDAY_INFORMATION * PSYSTEM_TIMEOFDAY_INFORMATION
struct _PROCESS_BASIC_INFORMATION * PPROCESS_BASIC_INFORMATION
struct _UNICODE_STRING * PUNICODE_STRING
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtClose(_In_ HANDLE Handle)
struct _RTL_USER_PROCESS_PARAMETERS * PRTL_USER_PROCESS_PARAMETERS
struct _SYSTEM_POLICY_INFORMATION * PSYSTEM_POLICY_INFORMATION
NTSTATUS NTAPI RtlCharToInteger(PCSZ String, ULONG Base, PULONG Value)
BOOLEAN NTAPI RtlIsNameLegalDOS8Dot3(_In_ PUNICODE_STRING Name, _Inout_opt_ POEM_STRING OemName, _Inout_opt_ PBOOLEAN NameContainsSpaces)
enum _WINSTATIONINFOCLASS WINSTATIONINFOCLASS
VOID NTAPI RtlFreeAnsiString(PANSI_STRING AnsiString)
NTSTATUS NTAPI RtlLocalTimeToSystemTime(IN PLARGE_INTEGER LocalTime, _Out_ PLARGE_INTEGER SystemTime)
struct _SYSTEM_POLICY_INFORMATION SYSTEM_POLICY_INFORMATION
struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION * PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
struct _SYSTEM_PROCESS_INFORMATION * PSYSTEM_PROCESS_INFORMATION
struct _UNICODE_STRING UNICODE_STRING
struct _OBJECT_ATTRIBUTES OBJECT_ATTRIBUTES
struct _SYSTEM_PERFORMANCE_INFORMATION SYSTEM_PERFORMANCE_INFORMATION
NTSTATUS NTAPI RtlUnicodeStringToAnsiString(PANSI_STRING DestinationString, PCUNICODE_STRING SourceString, BOOLEAN AllocateDestinationString)
struct _SYSTEM_INTERRUPT_INFORMATION SYSTEM_INTERRUPT_INFORMATION
struct _SYSTEM_REGISTRY_QUOTA_INFORMATION * PSYSTEM_REGISTRY_QUOTA_INFORMATION
VOID NTAPI RtlInitString(PSTRING DestinationString, PCSZ SourceString)
VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
struct _SYSTEM_LOOKASIDE_INFORMATION * PSYSTEM_LOOKASIDE_INFORMATION
@ SystemTimeOfDayInformation
@ SystemExceptionInformation
@ SystemLookasideInformation
@ SystemRegistryQuotaInformation
@ SystemInterruptInformation
@ SystemPolicyInformation
@ SystemProcessInformation
@ SystemPerformanceInformation
@ SystemProcessorPerformanceInformation
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQuerySystemTime(_Out_ PLARGE_INTEGER SystemTime)
struct _SYSTEM_EXCEPTION_INFORMATION * PSYSTEM_EXCEPTION_INFORMATION
NTSTATUS NTAPI RtlUnicodeToMultiByteSize(_Out_ PULONG BytesInMultiByteString, _In_reads_bytes_(BytesInUnicodeString) PWCH UnicodeString, _In_ ULONG BytesInUnicodeString)
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryMultipleValueKey(_In_ HANDLE KeyHandle, _Inout_updates_(EntryCount) PKEY_VALUE_ENTRY ValueEntries, _In_ ULONG EntryCount, _Out_writes_bytes_(*BufferLength) PVOID ValueBuffer, _Inout_ PULONG BufferLength, _Out_opt_ PULONG RequiredBufferLength)
enum _PROCESSINFOCLASS PROCESSINFOCLASS
enum _SYSTEM_INFORMATION_CLASS SYSTEM_INFORMATION_CLASS
struct _SYSTEM_PROCESS_INFORMATION SYSTEM_PROCESS_INFORMATION
struct _PROCESS_BASIC_INFORMATION PROCESS_BASIC_INFORMATION
struct _PEB_LDR_DATA PEB_LDR_DATA
_In_ OBJECT_INFORMATION_CLASS _In_ ULONG ObjectInformationLength
struct __PUBLIC_OBJECT_TYPE_INFORMATION PUBLIC_OBJECT_TYPE_INFORMATION
__kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtWaitForSingleObject(_In_ HANDLE Object, _In_ BOOLEAN Alertable, _In_opt_ PLARGE_INTEGER Timeout)
const UNICODE_STRING * PCUNICODE_STRING
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
static OUT PIO_STATUS_BLOCK IoStatusBlock
static PLARGE_INTEGER Time
_Must_inspect_result_ _Out_ PNDIS_STATUS _Out_ PNDIS_STATUS _Out_ PNDIS_HANDLE _Out_ PUINT _In_ UINT _In_ NDIS_HANDLE _In_ NDIS_HANDLE _In_ PNDIS_STRING _In_ UINT OpenOptions
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
_In_ PVOID _In_ BOOLEAN Alertable
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE _In_opt_ PVOID ApcContext
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE ApcRoutine
_In_ HANDLE ProcessHandle
_In_ THREADINFOCLASS _In_ ULONG ThreadInformationLength
_In_ THREADINFOCLASS ThreadInformationClass
_Out_ _Inout_ POEM_STRING _In_ PCUNICODE_STRING SourceString
_Inout_opt_ POEM_STRING _Out_opt_ PBOOLEAN NameContainsSpaces
*BytesInUnicodeString PWCH _In_ ULONG _Out_opt_ PULONG BytesInUnicodeString
_In_ PSID _In_ BOOLEAN AllocateDestinationString
_Out_ _Inout_ POEM_STRING DestinationString
_In_ ULONG _In_ ACCESS_MASK _In_ PSID Sid
_Out_ PULONG ElapsedSeconds
*BytesInUnicodeString PWCH _In_ ULONG _Out_opt_ PULONG _In_ ULONG BytesInMultiByteString
#define _In_reads_bytes_(s)
#define _Inout_updates_(s)
#define _Return_type_success_(c)
#define _Out_range_(l, h)
#define _Out_writes_bytes_opt_(s)
#define _In_reads_opt_(s)
#define _Strict_type_match_
#define _Out_writes_bytes_(s)
#define _In_reads_bytes_opt_(s)
enum _KEY_SET_INFORMATION_CLASS KEY_SET_INFORMATION_CLASS
_KEY_SET_INFORMATION_CLASS
_In_ ULONG _In_ ULONG _In_ ULONG Length
_In_ SYSTEM_POWER_STATE _In_ ULONG _In_ BOOLEAN Asynchronous
union _IO_STATUS_BLOCK::@3343 DUMMYUNIONNAME
PUNICODE_STRING ValueName
UNICODE_STRING FullDllName
LIST_ENTRY InMemoryOrderLinks
union _LDR_DATA_TABLE_ENTRY::@3342 DUMMYUNIONNAME
PVOID SecurityQualityOfService
PUNICODE_STRING ObjectName
LIST_ENTRY InMemoryOrderModuleList
PPS_POST_PROCESS_INIT_ROUTINE PostProcessInitRoutine
PRTL_USER_PROCESS_PARAMETERS ProcessParameters
UNICODE_STRING CommandLine
UNICODE_STRING ImagePathName
PPEB ProcessEnvironmentBlock
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_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_ DEVICE_REGISTRY_PROPERTY _In_ ULONG BufferLength
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
_In_ WDFDMATRANSACTION _In_ size_t MaximumLength
_In_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
_In_ WDFREQUEST _In_ size_t OutputBufferLength
_In_ WDFREQUEST _In_ size_t _In_ size_t InputBufferLength
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize
_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 _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_Reserved_ PVOID Reserved
_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
*BytesInOemString PCHAR OemString
_In_ _In_ ULONG KeySetInformationLength
_In_ PUNICODE_STRING NewName