Compartilhar via


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

O método SetRestoreMethod indica como os dados do gravador devem ser restaurados.

Sintaxe

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 o método que será usado na operação de restauração.

[in] wszService

Um ponteiro para uma cadeia de caracteres larga que contém o nome de um serviço que deve ser interrompido antes de uma operação de restauração e, em seguida, iniciado após a operação de restauração ocorrer, se o valor do método for VSS_RME_STOP_RESTORE_START ou VSS_RME_RESTORE_STOP_START.

Se o valor do método não for VSS_RME_STOP_RESTORE_START ou VSS_RME_RESTORE_STOP_START, esse argumento não será usado e deverá ser definido como NULL.

[in] wszUserProcedure

Reservado para uso futuro. O valor desse parâmetro sempre deve ser definido como NULL.

[in] writerRestore

VSS_WRITERRESTORE_ENUM valor que especifica se o gravador estará envolvido na restauração de seus dados.

Os gravadores expressos devem definir esse parâmetro como VSS_WRE_NEVER.

[in] bRebootRequired

Booliano indicando se uma reinicialização será necessária após a conclusão da operação de restauração.

Valor retornado

Veja a seguir os códigos de retorno válidos para esse método.

Valor Significado
S_OK
0x000000000L
A operação foi bem-sucedida.
E_INVALIDARG
0x80070057L
Um dos valores de parâmetro não é válido.
E_OUTOFMEMORY
0x8007000EL
O chamador está sem memória ou outros recursos do sistema.
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
O documento XML não é válido. Verifique o log de eventos para obter detalhes. Para obter mais informações, consulte Tratamento de eventos e erros em VSS.
VSS_E_NOT_SUPPORTED
0x8004232FL
O chamador especificou um valor VSS_WRITERRESTORE_ENUM que não tem suporte para gravadores expressos.
VSS_E_UNEXPECTED
Erro inesperado. O código de erro é registrado no arquivo de log de erros. Para obter mais informações, consulte Tratamento de eventos e erros em VSS.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Esse valor não tem suporte até o Windows Server 2008 R2 e o Windows 7. E_UNEXPECTED é usado.

Comentários

Há um único método de restauração definido para um gravador. Se o método de restauração não for substituído, todos os componentes do gravador serão restaurados usando o mesmo método.

Os gravadores substituem o método de restauração em uma base componente por componente definindo um destino de restauração, normalmente durante o tratamento de um evento PreRestore (CVssWriter::OnPreRestore).

É importante observar que, apesar de os métodos de restauração serem aplicados em todo o gravador, os métodos são implementados por componente. Por exemplo, se o método especificado pelo parâmetro de método for VSS_RME_RESTORE_IF_CAN_REPLACE, todos os arquivos no componente serão restaurados para o local original se todos eles puderem ser substituídos sem que ocorra um erro. Caso contrário, eles serão restaurados para seu local alternativo se um for especificado.

Um arquivo sempre deverá ser restaurado para o mapeamento de localização alternativo se um dos seguintes procedimentos for verdadeiro:

  • O método de restauração (definido no momento do backup) é VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
  • Seu destino de restauração foi definido (no momento da restauração) como VSS_RT_ALTERNATE.
Em ambos os casos, se nenhum mapeamento de local alternativo válido for definido, isso constitui um erro de gravador.

Um arquivo poderá ser restaurado para um mapeamento de local alternativo se um dos seguintes procedimentos for verdadeiro:

  • O método de restauração é VSS_RME_RESTORE_IF_NOT_THERE e uma versão do arquivo já está presente no disco.
  • O método de restauração é VSS_RME_RESTORE_IF_CAN_REPLACE e uma versão do arquivo está presente no disco e não pode ser substituída.
Novamente, se nenhum mapeamento de local alternativo válido for definido, isso constitui um erro de gravador.

Um mapeamento de local alternativo é usado somente durante uma operação de restauração e não deve ser confundido com um caminho alternativo, que é usado somente durante uma operação de backup.

Para obter mais informações sobre métodos de restauração, consulte Configurando métodos de restauração do VSS.

Se o método de restauração for VSS_RME_STOP_RESTORE_START ou VSS_RME_RESTORE_STOP_START, o nome correto do serviço deverá ser fornecido como o argumento wszService . Para obter informações sobre a participação do gravador na interrupção e na reinicialização dos serviços durante uma operação de restauração, consulte Parando serviços para restauração por solicitantes.

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho vswriter.h (inclua Vss.h, VsWriter.h)
Biblioteca VssApi.lib

Confira também

CVssWriter::OnPostRestore

CVssWriter::OnPreRestore

IVssCreateWriterMetadata

IVssExamineWriterMetadata::GetRestoreMethod