Función RegQueryInfoKeyW (winreg.h)
Recupera información sobre la clave del Registro especificada.
Sintaxis
LSTATUS RegQueryInfoKeyW(
[in] HKEY hKey,
[out, optional] LPWSTR 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 Unicode, 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 Unicode. 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 Unicode. 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
El encabezado winreg.h define RegQueryInfoKey como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
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 |