Función RegLoadAppKeyW (winreg.h)

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

Sintaxis

LSTATUS RegLoadAppKeyW(
  [in]  LPCWSTR 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 clave 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, 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

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 previamente en lugar de volver a cargar el subárbol.

Todas las claves 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 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 cada vez.

Cualquier subárbol cargado mediante RegLoadAppKey se descarga automáticamente cuando todos los identificadores de las claves dentro del subárbol se cierran 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 Uso de los encabezados de Windows.

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 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 Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winreg.h (incluya Windows.h)
Library Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

RegSaveKey

Funciones del Registro

Hive del Registro