Función RegOpenKeyA (winreg.h)
Abre la clave del Registro especificada.
Sintaxis
LSTATUS RegOpenKeyA(
[in] HKEY hKey,
[in, optional] LPCSTR lpSubKey,
[out] PHKEY phkResult
);
Parámetros
[in] hKey
Identificador de una clave del Registro abierta. La función RegCreateKeyEx o RegOpenKeyEx devuelve este identificador, o bien puede ser una de las siguientes claves predefinidas:
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_USERS
[in, optional] lpSubKey
Nombre de la clave del Registro que se va a abrir. Esta clave debe ser una subclave de la clave identificada por el parámetro hKey .
Los nombres de clave no distinguen mayúsculas de minúsculas.
Si este parámetro es NULL o un puntero a una cadena vacía, la función devuelve el mismo identificador que se pasó.
Para obtener más información, vea Límites de tamaño de elemento del Registro.
[out] phkResult
Puntero a una variable que recibe un identificador de la clave abierta. Si la clave no es una de las claves del Registro predefinidas, llame a la función RegCloseKey una vez que haya terminado de usar el identificador .
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es ERROR_SUCCESS.
Si la función no se ejecuta correctamente, el valor devuelto es un código de error distinto de cero definido en Winerror.h. Puede usar la función FormatMessage con la marca FORMAT_MESSAGE_FROM_SYSTEM para obtener una descripción genérica del error.
Comentarios
La función RegOpenKey usa la máscara de acceso de seguridad predeterminada para abrir una clave. Si abrir la clave requiere un derecho de acceso diferente, se produce un error en la función y se devuelve ERROR_ACCESS_DENIED. Una aplicación debe usar la función RegOpenKeyEx para especificar una máscara de acceso en esta situación.
RegOpenKey no crea la clave especificada si la clave no existe en la base de datos.
Si su servicio o aplicación suplanta a distintos usuarios, no use esta función con HKEY_CURRENT_USER. En su lugar, llame a la función RegOpenCurrentUser .
Nota
El encabezado winreg.h define RegOpenKey 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en 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 (incluya Windows.h) |
Library | Advapi32.lib |
Archivo DLL | Advapi32.dll |