#ifndef _NTREGAPI_H
/**
* Enumerates the subkeys of a registry key.
*
* @param[in] KeyHandle A handle to the key to be enumerated.
* @param[in] Index The index of the subkey to be enumerated.
* @param[in] KeyInformationClass The type of information to be queried.
* @param[out] KeyInformation A pointer to a buffer that receives the key information.
* @param[in] Length The size of the buffer.
* @param[out] ResultLength A pointer to a variable that receives the size of the data returned.
* @return NTSTATUS Successful or errant status.
*/
NTSYSCALLAPI
NTSTATUS
NTAPI
NtEnumerateKey(
_In_ HANDLE KeyHandle,
_In_ ULONG Index,
_In_ KEY_INFORMATION_CLASS KeyInformationClass,
_Out_writes_bytes_to_opt_(Length, *ResultLength) PVOID KeyInformation,
_In_ ULONG Length,
_Out_ PULONG ResultLength
);
View code on GitHub
#ifndef _NTZWAPI_H
NTSYSCALLAPI
NTSTATUS
NTAPI
ZwEnumerateKey(
_In_ HANDLE KeyHandle,
_In_ ULONG Index,
_In_ KEY_INFORMATION_CLASS KeyInformationClass,
_Out_writes_bytes_to_opt_(Length, *ResultLength) PVOID KeyInformation,
_In_ ULONG Length,
_Out_ PULONG ResultLength
);
View code on GitHub
This function is documented in Windows Driver Kit.
See ZwEnumerateKey
in NT DDK or 2000 DDK for detailed description.