Compartir a través de


Método IVssCreateWriterMetadata::SetRestoreMethod (vswriter.h)

El método SetRestoreMethod indica cómo se restaurarán los datos del escritor.

Sintaxis

HRESULT SetRestoreMethod(
  [in] VSS_RESTOREMETHOD_ENUM method,
  [in] LPCWSTR                wszService,
  [in] LPCWSTR                wszUserProcedure,
  [in] VSS_WRITERRESTORE_ENUM writerRestore,
  [in] bool                   bRebootRequired
);

Parámetros

[in] method

VSS_RESTOREMETHOD_ENUM valor que especifica el método que se usará en la operación de restauración.

[in] wszService

Puntero a una cadena de caracteres anchos que contiene el nombre de un servicio que se debe detener antes de una operación de restauración y, a continuación, se inicia después de que se produzca la operación de restauración, si el valor del método es VSS_RME_STOP_RESTORE_START o VSS_RME_RESTORE_STOP_START.

Si el valor del método no es VSS_RME_STOP_RESTORE_START o VSS_RME_RESTORE_STOP_START, este argumento no se usa y debe establecerse en NULL.

[in] wszUserProcedure

Reservado para uso futuro. El valor de este parámetro siempre debe establecerse en NULL.

[in] writerRestore

VSS_WRITERRESTORE_ENUM valor que especifica si el escritor estará implicado en la restauración de sus datos.

Los escritores rápidos deben establecer este parámetro en VSS_WRE_NEVER.

[in] bRebootRequired

Boolean que indica si se requerirá un reinicio una vez completada la operación de restauración.

Valor devuelto

A continuación se muestran los códigos de retorno válidos para este método.

Valor Significado
S_OK
0x00000000L
La operación se realizó correctamente.
E_INVALIDARG
0x80070057L
Uno de los valores de parámetro no es válido.
E_OUTOFMEMORY
0x8007000EL
El autor de la llamada no tiene memoria u otros recursos del sistema.
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
El documento XML no es válido. Compruebe el registro de eventos para obtener más información. Para obtener más información, vea Control de eventos y errores en VSS.
VSS_E_NOT_SUPPORTED
0x8004232FL
El autor de la llamada especificó un valor de VSS_WRITERRESTORE_ENUM que no se admite para escritores rápidos.
VSS_E_UNEXPECTED
error inesperado. El código de error se registra en el archivo de registro de errores. Para obtener más información, vea Control de eventos y errores en VSS.

Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este valor no se admite hasta Windows Server 2008 R2 y Windows 7. E_UNEXPECTED se usa en su lugar.

Comentarios

Hay un único método de restauración definido para un escritor. Si el método de restauración no se invalida, todos los componentes del escritor se restaurarán con el mismo método.

Los escritores invalidan el método de restauración por componente estableciendo un destino de restauración, normalmente al controlar un evento PreRestore (CVssWriter::OnPreRestore).

Es importante tener en cuenta que, a pesar de que los métodos de restauración se aplican en todo el sistema de escritura, los métodos se implementan por componente. Por ejemplo, si el método especificado por el parámetro method es VSS_RME_RESTORE_IF_CAN_REPLACE, todos los archivos del componente se restauran en su ubicación original si todos se pueden reemplazar sin que se produzca un error. De lo contrario, se restauran en su ubicación alternativa si se especifica una.

Siempre se debe restaurar un archivo en su asignación de ubicación alternativa si se cumple alguna de las siguientes condiciones:

  • El método de restauración (establecido en el momento de la copia de seguridad) se VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
  • Su destino de restauración se estableció (en el momento de la restauración) en VSS_RT_ALTERNATE.
En cualquier caso, si no se define ninguna asignación de ubicación alternativa válida, esto constituye un error de escritor.

Un archivo se puede restaurar en una asignación de ubicación alternativa si se cumple alguna de las siguientes condiciones:

  • El método de restauración es VSS_RME_RESTORE_IF_NOT_THERE y una versión del archivo ya está presente en el disco.
  • El método restore es VSS_RME_RESTORE_IF_CAN_REPLACE y una versión del archivo está presente en el disco y no se puede reemplazar.
De nuevo, si no se define ninguna asignación de ubicación alternativa válida, esto constituye un error de escritura.

Una asignación de ubicación alternativa solo se usa durante una operación de restauración y no debe confundirse con una ruta de acceso alternativa, que solo se usa durante una operación de copia de seguridad.

Para obtener más información sobre los métodos de restauración, vea Establecer métodos de restauración de VSS.

Si el método restore es VSS_RME_STOP_RESTORE_START o VSS_RME_RESTORE_STOP_START, se debe proporcionar el nombre correcto del servicio como argumento wszService . Para obtener información sobre la participación del escritor en la detención y reinicio de los servicios durante una operación de restauración, consulte Detener servicios para restaurar por solicitantes.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado vswriter.h (incluye Vss.h, VsWriter.h)
Library VssApi.lib

Consulte también

CVssWriter::OnPostRestore

CVssWriter::OnPreRestore

IVssCreateWriterMetadata

IVssExamineWriterMetadata::GetRestoreMethod