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

Consulte también

FILETIME

RegDeleteKey

RegEnumKeyEx

RegEnumValue

RegQueryValueEx

Funciones del Registro

Introducción al Registro