Condividi tramite


Metodo IVssCreateWriterMetadata::SetRestoreMethod (vswriter.h)

Il metodo SetRestoreMethod indica come ripristinare i dati del writer.

Sintassi

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

Parametri

[in] method

VSS_RESTOREMETHOD_ENUM valore che specifica il metodo che verrà utilizzato nell'operazione di ripristino.

[in] wszService

Puntatore a una stringa di caratteri wide contenente il nome di un servizio che deve essere arrestato prima di un'operazione di ripristino e quindi avviato dopo l'esecuzione dell'operazione di ripristino, se il valore del metodo è VSS_RME_STOP_RESTORE_START o VSS_RME_RESTORE_STOP_START.

Se il valore del metodo non è VSS_RME_STOP_RESTORE_START o VSS_RME_RESTORE_STOP_START, questo argomento non viene utilizzato e deve essere impostato su NULL.

[in] wszUserProcedure

Riservato per utilizzi futuri. Il valore di questo parametro deve essere sempre impostato su NULL.

[in] writerRestore

VSS_WRITERRESTORE_ENUM valore che specifica se il writer sarà coinvolto nel ripristino dei dati.

I writer express devono impostare questo parametro su VSS_WRE_NEVER.

[in] bRebootRequired

Valore booleano che indica se sarà necessario un riavvio al termine dell'operazione di ripristino.

Valore restituito

Di seguito sono riportati i codici restituiti validi per questo metodo.

Valore Significato
S_OK
0x0000000L
L'operazione è stata completata.
E_INVALIDARG
0x80070057L
Uno dei valori dei parametri non è valido.
E_OUTOFMEMORY
0x8007000EL
Il chiamante non è in memoria o in altre risorse di sistema.
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
Documento XML non valido. Per informazioni dettagliate, vedere il registro eventi. Per altre informazioni, vedere Gestione degli eventi e degli errori in VSS.
VSS_E_NOT_SUPPORTED
0x8004232FL
Il chiamante ha specificato un valore VSS_WRITERRESTORE_ENUM non supportato per i writer rapidi.
VSS_E_UNEXPECTED
Errore imprevisto. Il codice di errore viene registrato nel file di log degli errori. Per altre informazioni, vedere Gestione degli eventi e degli errori in VSS.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato fino a Windows Server 2008 R2 e Windows 7. E_UNEXPECTED viene invece usato.

Commenti

Esiste un singolo metodo di ripristino definito per un writer. Se il metodo di ripristino non viene sottoposto a override, tutti i componenti del writer verranno ripristinati usando lo stesso metodo.

I writer eseguono l'override del metodo di ripristino in base al componente impostando una destinazione di ripristino, in genere gestendo un evento PreRestore (CVssWriter::OnPreRestore).

È importante notare che, nonostante il fatto che i metodi di ripristino vengono applicati a livello di writer, i metodi vengono implementati in base ai singoli componenti. Ad esempio, se il metodo specificato dal parametro del metodo è VSS_RME_RESTORE_IF_CAN_REPLACE, tutti i file nel componente vengono ripristinati nel percorso originale se possono essere tutti sostituiti senza errori. In caso contrario, vengono ripristinati nella posizione alternativa se ne viene specificata una.

Un file deve essere sempre ripristinato nel relativo mapping di percorso alternativo se una delle condizioni seguenti è vera:

  • Il metodo di ripristino (impostato in fase di backup) è VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
  • La destinazione di ripristino è stata impostata (in fase di ripristino) su VSS_RT_ALTERNATE.
In entrambi i casi, se non viene definito alcun mapping di percorso alternativo valido, ciò costituisce un errore del writer.

Un file può essere ripristinato in un mapping di percorso alternativo se si verifica una delle condizioni seguenti:

  • Il metodo di ripristino è VSS_RME_RESTORE_IF_NOT_THERE e una versione del file è già presente sul disco.
  • Il metodo di ripristino è VSS_RME_RESTORE_IF_CAN_REPLACE e una versione del file è presente su disco e non può essere sostituita.
Anche in questo caso, se non viene definito alcun mapping di percorso alternativo valido, si tratta di un errore writer.

Un mapping di percorso alternativo viene usato solo durante un'operazione di ripristino e non deve essere confuso con un percorso alternativo, che viene usato solo durante un'operazione di backup.

Per altre informazioni sui metodi di ripristino, vedere Impostazione dei metodi di ripristino vss.

Se il metodo di ripristino è VSS_RME_STOP_RESTORE_START o VSS_RME_RESTORE_STOP_START, è necessario specificare il nome corretto del servizio come argomento wszService . Per informazioni sulla partecipazione del writer all'arresto e al riavvio dei servizi durante un'operazione di ripristino, vedere Arresto dei servizi per il ripristino da parte dei richiedenti.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione vswriter.h (include Vss.h, VsWriter.h)
Libreria VssApi.lib

Vedi anche

CVssWriter::OnPostRestore

CVssWriter::OnPreRestore

IVssCreateWriterMetadata

IVssExamineWriterMetadata::GetRestoreMethod