Función RegQueryInfoKeyA (winreg.h)
Recupera información sobre la clave del Registro especificada.
Sintaxis
LSTATUS RegQueryInfoKeyA(
[in] HKEY hKey,
[out, optional] LPSTR lpClass,
[in, out, optional] LPDWORD lpcchClass,
LPDWORD lpReserved,
[out, optional] LPDWORD lpcSubKeys,
[out, optional] LPDWORD lpcbMaxSubKeyLen,
[out, optional] LPDWORD lpcbMaxClassLen,
[out, optional] LPDWORD lpcValues,
[out, optional] LPDWORD lpcbMaxValueNameLen,
[out, optional] LPDWORD lpcbMaxValueLen,
[out, optional] LPDWORD lpcbSecurityDescriptor,
[out, optional] PFILETIME lpftLastWriteTime
);
Parámetros
[in] hKey
Identificador de una clave del Registro abierta. La clave debe haberse abierto con el derecho de acceso KEY_QUERY_VALUE. Para obtener más información, consulte Derechos de acceso y seguridad de clave del Registro.
Este identificador lo devuelve la función RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyEx o RegOpenKeyTransacted . También puede ser una de las siguientes claves predefinidas:
HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_PERFORMANCE_DATA HKEY_USERS
[out, optional] lpClass
Puntero a un búfer que recibe la clase definida por el usuario de la clave. Este parámetro puede ser NULL.
[in, out, optional] lpcchClass
Puntero a una variable que especifica el tamaño del búfer al que apunta el parámetro lpClass , en caracteres.
El tamaño debe incluir el carácter nulo de terminación. Cuando se devuelve la función, esta variable contiene el tamaño de la cadena de clase que se almacena en el búfer. El recuento devuelto no incluye el carácter nulo de terminación. Si el búfer no es lo suficientemente grande, la función devuelve ERROR_MORE_DATA y la variable contiene el tamaño de la cadena, en caracteres, sin contar el carácter nulo de terminación.
Si lpClass es NULL, lpcClass puede ser NULL.
Si el parámetro lpClass es una dirección válida, pero el parámetro lpcClass no es, por ejemplo, NULL, la función devuelve ERROR_INVALID_PARAMETER.
lpReserved
Este parámetro está reservado y debe ser NULL.
[out, optional] lpcSubKeys
Puntero a una variable que recibe el número de subclaves que contiene la clave especificada. Este parámetro puede ser NULL.
[out, optional] lpcbMaxSubKeyLen
Puntero a una variable que recibe el tamaño de la subclave de la clave con el nombre más largo, en caracteres ANSI, sin incluir el carácter nulo de terminación. Este parámetro puede ser NULL.
[out, optional] lpcbMaxClassLen
Puntero a una variable que recibe el tamaño de la cadena más larga que especifica una clase de subclave, en caracteres ANSI. El recuento devuelto no incluye el carácter nulo de terminación. Este parámetro puede ser NULL.
[out, optional] lpcValues
Puntero a una variable que recibe el número de valores asociados a la clave. Este parámetro puede ser NULL.
[out, optional] lpcbMaxValueNameLen
Puntero a una variable que recibe el tamaño del nombre de valor más largo de la clave, en caracteres ANSI. El tamaño no incluye el carácter nulo de terminación. Este parámetro puede ser NULL.
[out, optional] lpcbMaxValueLen
Puntero a una variable que recibe el tamaño del componente de datos más largo entre los valores de la clave, en bytes. Este parámetro puede ser NULL.
[out, optional] lpcbSecurityDescriptor
Puntero a una variable que recibe el tamaño del descriptor de seguridad de la clave, en bytes. Este parámetro puede ser NULL.
[out, optional] lpftLastWriteTime
Puntero a una estructura FILETIME que recibe la última hora de escritura. Este parámetro puede ser NULL.
La función establece los miembros de la estructura FILETIME para indicar la última vez que se modifica la clave o cualquiera de sus entradas de valor.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es ERROR_SUCCESS.
Si se produce un error en la función, el valor devuelto es un código de error del sistema.
Si el búfer lpClass es demasiado pequeño para recibir el nombre de la clase, la función devuelve ERROR_MORE_DATA.
Comentarios
Nota
En versiones heredadas de Windows, esta API también se expone mediante kernel32.dll.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winreg.h (incluye Windows.h) |
Library | Advapi32.lib |
Archivo DLL | Advapi32.dll |