Función RegSaveKeyA (winreg.h)

Guarda la clave especificada y todos sus subclaves y valores en un nuevo archivo, en el formato estándar.

Para especificar el formato de la clave guardada o hive, use la función RegSaveKeyEx .

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 RegSaveKeyA(
  [in]           HKEY                        hKey,
  [in]           LPCSTR                      lpFile,
  [in, optional] const LPSECURITY_ATTRIBUTES lpSecurityAttributes
);

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_USER

[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.

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 %systemroot%\system32 para una clave remota. El nuevo archivo tiene el atributo archive.

[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.

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.

Si el archivo ya existe, se produce un error en la función ERROR_ALREADY_EXISTS.

Comentarios

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

La función RegSaveKey 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 RegSaveKey en llamadas posteriores a las funciones RegLoadKey, RegReplaceKey o RegRestoreKey . Si RegSaveKey produce un error parcial a través de su operación, se dañará el archivo y se producirán errores en las llamadas posteriores a RegLoadKey, RegReplaceKey o RegRestoreKey para el archivo.

No se recomienda usar RegSaveKey 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 más información, consulte Ejecución con privilegios especiales.

Nota:

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

   
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

RegCreateKeyEx

RegDeleteKey

RegLoadKey

RegReplaceKey

RegRestoreKey

RegSaveKeyEx

Archivos del Registro

Funciones del Registro

SECURITY_ATTRIBUTES