Función RegRestoreKeyA (winreg.h)

Lee la información del Registro en un archivo especificado y la copia sobre la clave especificada. Esta información del Registro puede estar en forma de clave y varios niveles de subclaves.

Las aplicaciones que realicen copias de seguridad o restaure el estado del sistema, incluidos los archivos del sistema y los subárboles del Registro, deben usar el Servicio de instantáneas de volumen en lugar de las funciones del Registro.

Sintaxis

LSTATUS RegRestoreKeyA(
  [in] HKEY   hKey,
  [in] LPCSTR lpFile,
  [in] DWORD  dwFlags
);

Parámetros

[in] hKey

Identificador de una clave del Registro abierta. La función RegCreateKeyEx o RegOpenKeyEx devuelve este identificador. También puede ser una de las siguientes claves predefinidas:

HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIGHKEY_CURRENT_USERHKEY_LOCAL_MACHINEHKEY_USERS Cualquier información contenida en esta clave y sus claves descendientes se sobrescriben mediante la información del archivo al que apunta el parámetro lpFile.

[in] lpFile

Nombre del archivo con la información del Registro. Este archivo se crea normalmente mediante la función RegSaveKey .

[in] dwFlags

Marcas que indican cómo se restaurarán la clave o las claves. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
REG_FORCE_RESTORE
0x00000008L
Si se especifica, la operación de restauración se ejecuta incluso si existen identificadores abiertos en la ubicación de la jerarquía del Registro a la que apunta el parámetro hKey .
REG_WHOLE_HIVE_VOLATILE
0x00000001L
Si se especifica, se crea un nuevo conjunto volátil (solo memoria) de información del Registro o subárbol. Si se especifica REG_WHOLE_HIVE_VOLATILE, la clave identificada por el parámetro hKey debe ser el valor HKEY_USERS o HKEY_LOCAL_MACHINE .

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

Hay dos formatos de archivo hive del Registro diferentes. Los subárboles del Registro creados en los sistemas operativos actuales normalmente no se pueden cargar en los anteriores.

Si hay alguna subclave del parámetro hKey abierta, Se produce un error en RegRestoreKey .

El proceso de llamada debe tener los privilegios SE_RESTORE_NAME y SE_BACKUP_NAME en el equipo en el que reside el registro. Para más información, consulte Ejecución con privilegios especiales.

Esta función reemplaza las claves y los valores por debajo de la clave especificada por las claves y los valores que son subsidiarias a la clave de nivel superior del archivo, independientemente del nombre de la clave de nivel superior del archivo. Por ejemplo, hKey podría identificar una clave A con subclaves B y C, mientras que el parámetro lpFile especifica un archivo que contiene la clave X con subclaves Y y Z. Después de una llamada a RegRestoreKey, el registro contendrá la clave A con subclaves Y y Z. Las entradas de valor de A se reemplazarían por las entradas de valor de X.

La nueva información del archivo especificado por lpFile sobrescribe el contenido de la clave especificada por el parámetro hKey , excepto el nombre de clave.

Si hKey representa una clave en un equipo remoto, la ruta de acceso descrita por lpFile es relativa al equipo remoto.

Nota

El encabezado winreg.h define RegRestoreKey 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

Consulte también

RegDeleteKey

RegLoadKey

RegReplaceKey

RegSaveKey

Funciones del Registro

Introducción al Registro