29#ifndef _WDFREGISTRY_H_
30#define _WDFREGISTRY_H_
34 #define WDF_EXTERN_C extern "C"
35 #define WDF_EXTERN_C_START extern "C" {
36 #define WDF_EXTERN_C_END }
39 #define WDF_EXTERN_C_START
40 #define WDF_EXTERN_C_END
48#if (NTDDI_VERSION >= NTDDI_WIN2K)
50#define WDF_REGKEY_DEVICE_SUBKEY 0
51#define WDF_REGKEY_DRIVER_SUBKEY 0
65(
STDCALL *PFN_WDFREGISTRYOPENKEY)(
108(
STDCALL *PFN_WDFREGISTRYCREATEKEY)(
158(
STDCALL *PFN_WDFREGISTRYCLOSE)(
183(
STDCALL *PFN_WDFREGISTRYWDMGETHANDLE)(
193WdfRegistryWdmGetHandle(
209(
STDCALL *PFN_WDFREGISTRYREMOVEKEY)(
236(
STDCALL *PFN_WDFREGISTRYREMOVEVALUE)(
249WdfRegistryRemoveValue(
267(
STDCALL *PFN_WDFREGISTRYQUERYVALUE)(
288WdfRegistryQueryValue(
314(
STDCALL *PFN_WDFREGISTRYQUERYMEMORY)(
336WdfRegistryQueryMemory(
363(
STDCALL *PFN_WDFREGISTRYQUERYMULTISTRING)(
380WdfRegistryQueryMultiString(
402(
STDCALL *PFN_WDFREGISTRYQUERYUNICODESTRING)(
419WdfRegistryQueryUnicodeString(
441(
STDCALL *PFN_WDFREGISTRYQUERYSTRING)(
456WdfRegistryQueryString(
476(
STDCALL *PFN_WDFREGISTRYQUERYULONG)(
491WdfRegistryQueryULong(
511(
STDCALL *PFN_WDFREGISTRYASSIGNVALUE)(
530WdfRegistryAssignValue(
554(
STDCALL *PFN_WDFREGISTRYASSIGNMEMORY)(
573WdfRegistryAssignMemory(
597(
STDCALL *PFN_WDFREGISTRYASSIGNMULTISTRING)(
612WdfRegistryAssignMultiString(
632(
STDCALL *PFN_WDFREGISTRYASSIGNUNICODESTRING)(
647WdfRegistryAssignUnicodeString(
667(
STDCALL *PFN_WDFREGISTRYASSIGNSTRING)(
682WdfRegistryAssignString(
702(
STDCALL *PFN_WDFREGISTRYASSIGNULONG)(
717WdfRegistryAssignULong(
#define _Must_inspect_result_
#define _Strict_type_match_
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK _In_opt_ PWDF_OBJECT_ATTRIBUTES KeyAttributes
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
PWDF_DRIVER_GLOBALS WdfDriverGlobals
@ WdfRegistryWdmGetHandleTableIndex
@ WdfRegistryRemoveValueTableIndex
@ WdfRegistryCloseTableIndex
@ WdfRegistryQueryStringTableIndex
@ WdfRegistryAssignValueTableIndex
@ WdfRegistryQueryMemoryTableIndex
@ WdfRegistryQueryULongTableIndex
@ WdfRegistryQueryUnicodeStringTableIndex
@ WdfRegistryQueryMultiStringTableIndex
@ WdfRegistryOpenKeyTableIndex
@ WdfRegistryAssignULongTableIndex
@ WdfRegistryAssignStringTableIndex
@ WdfRegistryAssignMultiStringTableIndex
@ WdfRegistryAssignMemoryTableIndex
@ WdfRegistryRemoveKeyTableIndex
@ WdfRegistryCreateKeyTableIndex
@ WdfRegistryAssignUnicodeStringTableIndex
@ WdfRegistryQueryValueTableIndex
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES MemoryAttributes
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ _Strict_type_match_ POOL_TYPE _In_opt_ ULONG _In_ _Out_ WDFMEMORY * Memory
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFMEMORY * Memory
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG _Out_opt_ PULONG CreateDisposition
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_opt_ PWDF_OBJECT_ATTRIBUTES _In_ WDFCOLLECTION Collection
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_opt_ PULONG ValueLengthQueried
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_opt_ PWDF_OBJECT_ATTRIBUTES StringsAttributes
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT ValueByteLength
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK DesiredAccess
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ _Strict_type_match_ POOL_TYPE PoolType
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING KeyName
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_ ULONG CreateOptions
#define WDF_EXTERN_C_START
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ WDFCOLLECTION StringsCollection
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_opt_ PWDF_OBJECT_ATTRIBUTES KeyAttributes
_Must_inspect_result_ _In_opt_ WDFKEY ParentKey
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ WDFSTRING String
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_writes_bytes_opt_(ValueLength) PVOID Value
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _Out_opt_ PULONG _Out_opt_ PULONG ValueType
_Must_inspect_result_ _In_opt_ WDFKEY _In_ PCUNICODE_STRING _In_ ACCESS_MASK _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFKEY * Key
_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 _In_ ULONG _In_ WDFMEMORY _In_opt_ PWDFMEMORY_OFFSET MemoryOffsets
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ ULONG _In_ ULONG _In_reads_(ValueLength) PVOID Value)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _In_ _Strict_type_match_ POOL_TYPE _In_opt_ PWDF_OBJECT_ATTRIBUTES MemoryAttributes
_Must_inspect_result_ _IRQL_requires_max_(PASSIVE_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFREGISTRYOPENKEY)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals