#ifndef _NTREGAPI_H
/**
* Queries the value of a registry key.
*
* @param[in] KeyHandle A handle to the key to be queried.
* @param[in] ValueName A pointer to a UNICODE_STRING structure that specifies the name of the value to be queried.
* @param[in] KeyValueInformationClass The type of information to be queried.
* @param[out] KeyValueInformation A pointer to a buffer that receives the value 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
NtQueryValueKey(
_In_ HANDLE KeyHandle,
_In_ PUNICODE_STRING ValueName,
_In_ KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
_Out_writes_bytes_to_opt_(Length, *ResultLength) PVOID KeyValueInformation,
_In_ ULONG Length,
_Out_ PULONG ResultLength
);
View code on GitHub
#ifndef _NTZWAPI_H
NTSYSCALLAPI
NTSTATUS
NTAPI
ZwQueryValueKey(
_In_ HANDLE KeyHandle,
_In_ PUNICODE_STRING ValueName,
_In_ KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass,
_Out_writes_bytes_to_opt_(Length, *ResultLength) PVOID KeyValueInformation,
_In_ ULONG Length,
_Out_ PULONG ResultLength
);
View code on GitHub
This function is documented in Windows Driver Kit.
See ZwQueryValueKey
in NT DDK or 2000 DDK for detailed description.