// wdm.h
typedef struct _REG_QUERY_KEY_INFORMATION {
PVOID Object;
KEY_INFORMATION_CLASS KeyInformationClass;
PVOID KeyInformation;
ULONG Length;
PULONG ResultLength;
PVOID CallContext;
PVOID ObjectContext;
PVOID Reserved;
} REG_QUERY_KEY_INFORMATION, *PREG_QUERY_KEY_INFORMATION;
View the official Windows Driver Kit DDI referenceNo description available.
The REG_QUERY_KEY_INFORMATION structure describes the metadata that is about to be queried for a key.
ObjectA pointer to the registry key object for the key whose metadata is about to be queried.
KeyInformationClassThe KEY_INFORMATION_CLASS value that indicates the type of information to be returned by the system.
KeyInformationA pointer to a buffer that contains the information to be returned by the system. The format of the buffer depends on the value of KeyInformationClass. For more information see KEY_INFORMATION_CLASS.
LengthSpecifies the size, in bytes, of the KeyInformation buffer.
ResultLengthPointer to a variable that receives (from the system) the amount of valid data, in bytes, in the KeyInformation buffer.
CallContextOptional driver-defined context information that the driver's RegistryCallback routine can supply. This member is defined for Windows Vista and later versions of the Windows operating system.
ObjectContextA pointer to driver-defined context information that the driver has associated with a registry object by calling CmSetCallbackObjectContext. This member is defined for Windows Vista and later versions of the Windows operating system.
ReservedThis member is reserved for future use. This member is defined for Windows Vista and later versions of the Windows operating system.
The system passes this structure to the RegistryCallback routine every time a thread attempts to query the metadata for a key—for example, when a user-mode thread calls RegQueryInfoKey or when a driver calls ZwQueryKey.
For more information about registry filtering operations, see Filtering Registry Calls.