RegQueryInfoKey

This function retrieves information about a specified registry key.

At a Glance

Header file: Winreg.h
Windows CE versions: 1.0 and later

Syntax

LONG RegQueryInfoKey ( HKEY hKey, LPWSTR lpClass,
LPDWORD
lpcbClass, LPDWORD lpReserved, LPDWORDlpcSubKeys,
LPDWORD
lpcbMaxSubKeyLen, LPDWORD lpcbMaxClassLen,
LPDWORD
lpcValues, LPDWORD lpcbMaxValueNameLen,
LPDWORD
lpcbMaxValueLen, LPDWORD lpcbSecurityDescriptor,
PFILETIME
lpftLastWriteTime );

Parameters

hKey

[in] Handle to a currently open key or any of the following predefined reserved handle values:

lpClass

[out] Pointer to a buffer that receives the key’s class name. This parameter can be NULL.

lpcbClass

[in/out] Pointer to a variable that specifies the size, in characters, of the buffer pointed to by the lpClass parameter. This size should include the terminating null character. When the function returns, this variable contains the length of the class string stored in the buffer. The count returned does not include the terminating null character. If the buffer is not big enough, the function returns ERROR_MORE_DATA, and the variable contains the size of the string, in characters, without counting the null character.

If lpClass is NULL, lpcbClass can be NULL.

If the lpClass parameter is a valid address, but this parameter is not, the function returns ERROR_INVALID_PARAMETER.

lpReserved

[in] Reserved; set to NULL.

lpcSubKeys

[out] Pointer to a variable that receives the number of subkeys contained by the specified key. This parameter can be NULL.

lpcbMaxSubKeyLen

[out] Pointer to a variable that receives the length, in characters, of the key’s subkey with the longest name. The count returned does not include the terminating null character. This parameter can be NULL.

lpcbMaxClassLen

[out] Pointer to a variable that receives the length, in characters, of the longest string specifying a subkey class. The count returned does not include the terminating null character. This parameter can be NULL.

lpcValues

[out] Pointer to a variable that receives the number of values associated with the key. This parameter can be NULL.

lpcbMaxValueNameLen

[out] Pointer to a variable that receives the length, in characters, of the key’s longest value name. The count returned does not include the terminating null character. This parameter can be NULL.

lpcbMaxValueLen

[out] Pointer to a variable that receives the length, in bytes, of the longest data component among the values of the key. This parameter can be NULL. 

lpcbSecurityDescriptor

[in] Not used; set to NULL.

lpftLastWriteTime

[in] Ignored; set to NULL.

Return Values

ERROR_SUCCESS indicates success. A nonzero error code defined in Winerror.h indicates failure. To get a generic description of the error, call FormatMessage with the FORMAT_MESSAGE_FROM_SYSTEM flag set.

Remarks

The key identified by the hKey parameter must have been opened with KEY_QUERY_VALUE access (KEY_READ access includes KEY_QUERY_VALUE access).

See Also

RegDeleteKey, RegEnumKeyEx, RegEnumValue, RegQueryValueEx