Compartir a través de


Función RegSaveKeyExW (winreg.h)

Guarda la clave especificada y todos sus subclaves y valores en un archivo del Registro, en el formato especificado.

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 de en lugar de las funciones del Registro.

Sintaxis

LSTATUS RegSaveKeyExW(
  [in]           HKEY                        hKey,
  [in]           LPCWSTR                     lpFile,
  [in, optional] const LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  [in]           DWORD                       Flags
);

Parámetros

[in] hKey

Identificador de una clave del Registro abierta.

Esta función no admite el HKEY_CLASSES_ROOT clave predefinida.

[in] lpFile

Nombre del archivo en el que se van a guardar la clave y las subclaves especificadas. Si el archivo ya existe, se produce un error en la función.

El nuevo archivo tiene el atributo archive.

Si la cadena no incluye una ruta de acceso, el archivo se crea en el directorio actual del proceso de llamada para una clave local o en el directorio \system32 de %systemroot%para una clave remota.

[in, optional] lpSecurityAttributes

Puntero a una estructura SECURITY_ATTRIBUTES que especifica un descriptor de seguridad para el nuevo archivo. Si lpSecurityAttributes es NULL, el archivo obtiene un descriptor de seguridad predeterminado. Las ACL de un descriptor de seguridad predeterminado para un archivo se heredan de su directorio primario.

[in] Flags

Formato de la clave guardada o subárbol. Este parámetro puede ser uno de los siguientes valores.

Valor Significado
REG_STANDARD_FORMAT
1
La clave o subárbol se guarda en formato estándar. El formato estándar es el único formato compatible con Windows 2000.
REG_LATEST_FORMAT
2
La clave o subárbol se guarda en el formato más reciente. El formato más reciente es compatible a partir de Windows XP. Después de guardar la clave o el subárbol en este formato, no se puede cargar en un sistema anterior.
REG_NO_COMPRESSION
4
El subárbol se guarda sin compresión para ahorrar más rápido. El parámetro hKey debe especificar la raíz de un subárbol en HKEY_LOCAL_MACHINE o HKEY_USERS. Por ejemplo, HKLM\SOFTWARE es la raíz de un subárbol.

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.

Si se especifica más de uno de los valores posibles enumerados anteriormente para el parámetro Flags en una llamada a esta función (por ejemplo, si dos o más valores son OR'ed) o si se especifica REG_NO_COMPRESSION y hKey especifica una clave que no es la raíz de un subárbol, esta función devuelve ERROR_INVALID_PARAMETER.

Observaciones

A diferencia de regSaveKey, esta función no admite la clave predefinida HKEY_CLASSES_ROOT.

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

La función RegSaveKeyEx solo guarda claves no volátiles. No guarda claves volátiles. Una clave se convierte en volátil o no volátil en su creación; consulte RegCreateKeyEx.

Puede usar el archivo creado por regSaveKeyEx en llamadas posteriores a la función regLoadKey, RegReplaceKeyo RegRestoreKey. Si regSaveKeyEx produce un error a través de su operación, el archivo estará dañado y las llamadas posteriores a RegLoadKey, RegReplaceKeyo RegRestoreKey para el archivo producirá un error.

No se recomienda usar RegSaveKeyEx junto con RegRestoreKey para copiar subárboles en el registro. Este método no desencadena notificaciones y puede invalidar los identificadores usados por otras aplicaciones. En su lugar, use la función SHCopyKey o la función RegCopyTree.

El proceso de llamada debe tener habilitado el privilegio SE_BACKUP_NAME. Para obtener más información, vea En ejecución con privilegios especiales.

Nota

El encabezado winreg.h define RegSaveKeyEx 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 XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [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

RegCreateKeyEx

RegDeleteKey

regLoadKey

regReplaceKey

regRestoreKey

regSaveKey de

archivos del Registro de

funciones del Registro

SECURITY_ATTRIBUTES