_RegQueryInfoKey

include vmm.h

DWORD _RegQueryInfoKey(HKEY hKey, LPTSTR lpszClass,
    LPDWORD lpcchClass, LPDWORD lpdwReserved, LPDWORD lpcSubKeys, 
    LPDWORD lpcchMaxSubKey, LPDWORD lpcchMaxClass, LPDWORD lpcValues,
    LPDWORD lpcchMaxValueName, LPDWORD lpcbMaxValueData, 
    LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime)
 

Retrieves information about a specified registry key. See the documentation for the Win32 function of the same name for additional information.

ERROR_KEY_DELETED
ERROR_BADKEY
ERROR_REGISTRY_IO_FAILED
ERROR_REGISTRY_CORRUPT
ERROR_BADDB

hkey
Handle of an open key or one of the predefined keys:
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG
HKEY_DYN_DATA

lpszClass
Address of a buffer that receives the key's class name. Currently, this parameter is not supported.
lpcchClass
Size of the buffer pointed to by the lpszClass parameter on input and length of string returned in lpszClass on output. Currently, this parameter is not supported.
lpdwReserved
Reserved, must be NULL.
lpcSubKeys
Address of the buffer that receives the number of subkeys contained by the specified key.
lpcchMaxSubKey
Address of a variable that receives the length of the key's subkey with the longest name. The count returned does not include the terminating null character.
lpcchMaxClass
Address of a variable that receives the length of the longest string specifying a subkey class. Currently, this parameter is not supported.
lpcValues
Address of a variable that receives the number of values associated with the key.
lpcchMaxValueName
Address of a variable that receives the length of the key's longest value name. The count returned does not include the terminating null character.
lpcbMaxValueData
Address of a variable that receives the length of the longest data component among the key's values.
lpcbSecurityDescriptor
Address of a variable that receives the length of the key's security descriptor. Currently, this parameter is not supported.
lpftLastWriteTime
Address of variable that receives a FILETIME structure, indicating the last time the key or any of its value entries was modified. Currently, this parameter is not supported.

Of the predefined key values, only HKEY_LOCAL_MACHINE and HKEY_DYN_DATA are available to VxDs during initialization time. The entire registry space can only be accessed after VxD initialization is complete.