// wdm.h
typedef struct _REG_ENUMERATE_KEY_INFORMATION {
PVOID Object;
ULONG Index;
KEY_INFORMATION_CLASS KeyInformationClass;
PVOID KeyInformation;
ULONG Length;
PULONG ResultLength;
PVOID CallContext;
PVOID ObjectContext;
PVOID Reserved;
} REG_ENUMERATE_KEY_INFORMATION, *PREG_ENUMERATE_KEY_INFORMATION;
View the official Windows Driver Kit DDI referenceNo description available.
The REG_ENUMERATE_KEY_INFORMATION structure describes one subkey of a key whose subkeys are being enumerated.
ObjectA pointer to the registry key object for the key whose subkeys are being enumerated.
IndexThe zero-based index of the subkey within the key.
KeyInformationClassThe KEY_INFORMATION_CLASS value that indicates the type of information to be returned by the system in the KeyInformation buffer.
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.
LengthThe size, in bytes, of the KeyInformation buffer.
ResultLengthA pointer to a ULONG 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 a RegistryCallback routine every time a thread attempts to enumerate the subkeys of a key—for example, when a user-mode thread calls RegEnumKey or RegEnumKeyEx or when a driver calls ZwEnumerateKey.
For more information about registry filtering operations, see Filtering Registry Calls.