Compartir a través de


Función RegLoadAppKeyA (winreg.h)

Carga el subárbol del Registro especificado como un subárbol de aplicación.

Sintaxis

LSTATUS RegLoadAppKeyA(
  [in]  LPCSTR lpFile,
  [out] PHKEY  phkResult,
  [in]  REGSAM samDesired,
  [in]  DWORD  dwOptions,
        DWORD  Reserved
);

Parámetros

[in] lpFile

Nombre del archivo de hive. Este subárbol debe haberse creado con la función RegSaveKey o RegSaveKeyEx. Si el archivo no existe, se crea un archivo de hive vacío con el nombre especificado.

[out] phkResult

Puntero al identificador de la clave raíz del subárbol cargado.

La única manera de acceder a las claves del subárbol es a través de este identificador. El Registro impedirá que una aplicación acceda a las claves de este subárbol mediante una ruta de acceso absoluta a la clave. Como resultado, no es posible navegar a este subárbol a través del espacio de nombres del Registro.

[in] samDesired

Máscara que especifica los derechos de acceso solicitados para la clave raíz devuelta. Para obtener más información, consulte Derechos de acceso y seguridad de claves del Registro.

[in] dwOptions

Si este parámetro es REG_PROCESS_APPKEY, el subárbol no se puede cargar de nuevo mientras el autor de la llamada lo carga. Esto impide el acceso a este subárbol del Registro por otro llamador.

Reserved

Este parámetro está reservado.

Valor devuelto

Si la función se ejecuta correctamente, se ERROR_SUCCESS el valor devuelto.

Si se produce un error en la función, 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.

Observaciones

A diferencia de RegLoadKey, RegLoadAppKey no carga el subárbol en HKEY_LOCAL_MACHINE o HKEY_USERS. En su lugar, el subárbol se carga bajo una raíz especial que no se puede enumerar. Como resultado, no hay ninguna manera de enumerar los subárboles cargados actualmente por RegLoadAppKey. Todas las operaciones en subárboles cargadas por RegLoadAppKey deben realizarse en relación con el identificador devuelto en phkResult.

Si se requieren dos procesos para realizar operaciones en el mismo subárbol, cada proceso debe llamar a RegLoadAppKey para recuperar un identificador. Durante la operación regLoadAppKey, el registro comprobará si el archivo ya se ha cargado. Si se ha cargado, el registro devolverá un identificador al subárbol cargado anteriormente en lugar de volver a cargar el subárbol.

Todas las claves dentro del subárbol deben tener el mismo descriptor de seguridad; de lo contrario, se producirá un error en la función. Este descriptor de seguridad debe conceder al autor de la llamada el acceso especificado por el parámetro samDesired o se producirá un error en la función. No puede usar la función regSetKeySecurity de en ninguna clave dentro del subárbol.

En Windows 8 y versiones posteriores, cada proceso puede llamar a RegLoadAppKey para cargar varios subárboles. En Windows 7 y versiones anteriores, cada proceso solo puede cargar un subárbol mediante RegLoadAppKey a la vez.

Cualquier subárbol cargado mediante regLoadAppKey se descarga automáticamente cuando se cierran todos los identificadores de las claves dentro del subárbol mediante RegCloseKey.

Para compilar una aplicación que use esta función, defina _WIN32_WINNT como 0x0600 o posterior. Para obtener más información, vea Using the Windows Headers.

Nota

El encabezado winreg.h define RegLoadAppKey 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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows Vista [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2008 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de winreg.h (incluya Windows.h)
biblioteca de Advapi32.lib
DLL de Advapi32.dll

Consulte también

regSaveKey de

funciones del Registro

del Registro de Hive