The ZwQueryKey routine provides information about the class of a registry key,
and the number and sizes of its subkeys.
KeyHandle - Handle to the registry key to obtain information about. This handle is created by
a successful call to ZwCreateKey or ZwOpenKey.
KeyInformationClass - Specifies a KEY_INFORMATION_CLASS value that determines the type of information
returned in the KeyInformation buffer.
KeyInformation - Pointer to a caller-allocated buffer that receives the requested information.
Length - Specifies the size, in bytes, of the KeyInformation buffer.
ResultLength - Pointer to a variable that receives the size, in bytes, of the requested key
information. If ZwQueryKey returns STATUS_SUCCESS, the variable contains the amount
of data returned. If ZwQueryKey returns STATUS_BUFFER_OVERFLOW or
STATUS_BUFFER_TOO_SMALL, you can use the value of the variable to determine the
required buffer size.
ZwQueryKey returns STATUS_SUCCESS on success, or the appropriate error code on failure.