enumerazione VSS_RESTOREMETHOD_ENUM (vswriter.h)
L'enumerazione VSS_RESTOREMETHOD_ENUM viene usata da un writer in fase di backup per specificare tramite il relativo documento metadati writer il metodo di ripristino dei file predefinito da usare con tutti i file in tutti i componenti gestiti.
Il metodo di ripristino è a livello di writer ed è noto anche come destinazione di ripristino originale e indicato da un valore VSS_RESTORE_TARGET di VSS_RT_ORIGINAL.
Sintassi
typedef enum VSS_RESTOREMETHOD_ENUM {
VSS_RME_UNDEFINED = 0,
VSS_RME_RESTORE_IF_NOT_THERE,
VSS_RME_RESTORE_IF_CAN_REPLACE,
VSS_RME_STOP_RESTORE_START,
VSS_RME_RESTORE_TO_ALTERNATE_LOCATION,
VSS_RME_RESTORE_AT_REBOOT,
VSS_RME_RESTORE_AT_REBOOT_IF_CANNOT_REPLACE,
VSS_RME_CUSTOM,
VSS_RME_RESTORE_STOP_START
} ;
Costanti
VSS_RME_UNDEFINED Valore: 0 Non è definito alcun metodo di ripristino. Questo indica un errore nella parte del writer. Questo valore non è supportato per i writer express. |
VSS_RME_RESTORE_IF_NOT_THERE Il richiedente deve ripristinare i file di un componente o di un componente selezionato solo se non sono presenti versioni di tali file attualmente presenti sul disco. A meno che non vengano definiti mapping di percorsi alternativi per il ripristino dei file, se una versione di qualsiasi file gestita da un il componente o il set di componenti selezionati è attualmente sul disco, nessuno dei file gestiti dall'oggetto selezionato deve essere ripristinato il componente o il set di componenti. Se viene definito il mapping alternativo del percorso di un file e una versione dei file è presente sul disco percorso originale, i file devono essere scritti nel percorso alternativo solo se non esiste alcuna versione del file in posizione alternativa. |
VSS_RME_RESTORE_IF_CAN_REPLACE Il richiedente deve ripristinare i file di un componente o di un componente selezionato solo se i file attualmente presenti nel disco possono essere sovrascritti. A meno che non siano definiti mapping di percorsi alternativi per il ripristino dei file, se è presente una versione di qualsiasi file che non può essere sovrascritto del componente o del componente selezionato nel disco, nessuno dei file gestiti da deve essere ripristinato il componente o il set di componenti. Se viene definito il mapping alternativo del percorso di un file, i file devono essere scritti nel percorso alternativo. |
VSS_RME_STOP_RESTORE_START Il richiedente deve eseguire l'operazione di ripristino come indicato di seguito:
Il servizio da arrestare viene specificato in anticipo quando chiama il metodo IVssCreateWriterMetadata::SetRestoreMethod . Il richiedente può ottenere il nome del servizio chiamando il metodo IVssExamineWriterMetadata::GetRestoreMethod . Si noti che se il writer è ospitato nel servizio che viene arrestato, tale writer non riceverà l'evento PostRestore , perché l'ID istanza del writer cambia quando il servizio viene arrestato e riavviato. |
VSS_RME_RESTORE_TO_ALTERNATE_LOCATION Il richiedente deve ripristinare i file del componente o del componente selezionato impostato sul percorso specificato dall'oggetto mapping percorso alternativo specificato nel file di metadati del componente writer. Per altre informazioni, vedere IVssCreateWriterMetadata::AddAlternateLocationMapping, IVssComponent::GetAlternateLocationMapping, IVssExamineWriterMetadata::GetAlternateLocationMapping, e IVssWMFiledesc::GetAlternateLocation. Questo valore non è supportato per i writer express. |
VSS_RME_RESTORE_AT_REBOOT Il richiedente deve ripristinare i file di un componente o di un componente selezionato impostato dopo il riavvio del computer. I file da ripristinare devono essere copiati in un percorso temporaneo e il richiedente deve usare MoveFileEx con MOVEFILE_DELAY_UNTIL_REBOOT flag per completare il ripristino di questi file percorso appropriato dopo il riavvio del computer. |
VSS_RME_RESTORE_AT_REBOOT_IF_CANNOT_REPLACE Se possibile, il richiedente deve ripristinare i file del componente o del componente selezionato impostato sul relativo corretto posizione immediatamente. Se sono presenti versioni di uno dei file gestiti dal componente o dal componente selezionato impostato sul disco non può essere sovrascritto, quindi tutti i file gestiti dal componente o dal set di componenti selezionati devono essere ripristinati dopo il riavvio del computer. In questo caso, i file da ripristinare devono essere copiati in un percorso temporaneo su disco e il richiedente deve essere copiato usare MoveFileEx con MOVEFILE_DELAY_UNTIL_REBOOT flag per completare il ripristino di questi file percorso appropriato dopo il riavvio del computer. |
VSS_RME_CUSTOM Il richiedente deve usare un metodo di ripristino personalizzato per ripristinare i file gestiti dall'oggetto selezionato componente o set di componenti. Un ripristino personalizzato può usare funzioni o protocolli di recupero file privati a un determinato writer nell'applicazione Aha!. Tale ripristino non deve usare le informazioni nel file di metadati del componente writer. Per altre informazioni, vedere Backup e ripristino personalizzati per altre informazioni informazioni. Questo valore non è supportato per i writer express. |
VSS_RME_RESTORE_STOP_START Il richiedente deve eseguire l'operazione di ripristino come indicato di seguito:
Il servizio da arrestare viene specificato in anticipo dal writer quando chiama il metodo IVssCreateWriterMetadata::SetRestoreMethod . Il richiedente può ottenere il nome del servizio chiamando il metodo IVssExamineWriterMetadata::GetRestoreMethod . |
Commenti
Un writer imposta il metodo di ripristino nel documento metadati writer chiamando IVssCreateWriterMetadata::SetRestoreMethod durante il backup per specificare il metodo di ripristino desiderato nei metadati.
Un richiedente recupera il metodo di ripristino richiesto da un writer chiamando IVssExamineWriterMetadata::GetRestoreMethod e agisce di conseguenza.
Il metodo di ripristino si applica a tutti i file in tutti i componenti di un determinato writer.
Il metodo di ripristino può essere sottoposto a override in base al componente in fase di ripristino se un writer imposta un valore di VSS_RESTORE_TARGET diverso da VSS_RT_ORIGINAL con IVssComponent::SetRestoreTarget.
Un metodo di ripristino di VSS_RME_RESTORE_TO_ALTERNATE_LOCATION senza un mapping di percorso alternativo definito costituisce un errore writer e il richiedente deve segnalarlo come tale.
Quando un metodo di ripristino richiede un controllo sullo stato dei file attualmente sul disco (VSS_RME_RESTORE_IF_NOT_THERE, VSS_RME_RESTORE_IF_CAN_REPLACE o VSS_RME_RESTORE_AT_REBOOT_IF_CANNOT_REPLACE), idealmente, è consigliabile usare operazioni di I/O file per verificare che un intero componente possa essere ripristinato prima di procedere effettivamente con il ripristino.
Il modo più sicuro per eseguire questa operazione consiste nell'aprire esclusivamente (senza condivisione) tutti i file di destinazione con CreateFile prima del ripristino.
Nel caso di VSS_RME_RESTORE_IF_NOT_THERE, deve essere impostato anche un flag di eliminazione della creazione di CREATE_NEW .
Se le operazioni aperte hanno esito positivo, il ripristino può procedere e deve usare gli handle restituiti da CreateFile per scrivere effettivamente dati ripristinati su disco.
In caso contrario, è possibile restituire un errore, a seconda del metodo, oppure il mapping di percorsi alternativi controllato e (se disponibile) o i file dei componenti in fase di ripristino al riavvio successivo.
Questo può essere un problema per componenti molto grandi (alcuni dei quali potrebbero avere migliaia di file), a causa del sovraccarico del sistema.
In questo caso, un'opzione meno affidabile è quella di eseguire le operazioni seguenti:
- Copiare tutti i file attualmente sul disco e per essere ripristinati in una cache temporanea.
- Provare a sostituire i file attualmente presenti sul disco con i file di backup , che potrebbero essere presenti su disco in una seconda area temporanea o su un supporto di backup.
- Se i file non riescono a ripristinare, terminare l'operazione di ripristino e copiare i file originali dal percorso temporaneo e procedere con il mapping di percorso alternativo o il ripristino nelle operazioni di riavvio.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Intestazione | vswriter.h |
Vedi anche
IVssBackupComponents::AddAlternativeLocationMapping
IVssComponent::GetAlternateLocationMapping
IVssCreateWriterMetadata::AddAlternateLocationMapping
IVssCreateWriterMetadata::SetRestoreMethod
IVssExamineWriterMetadata::GetAlternateLocationMapping
IVssExamineWriterMetadata::GetRestoreMethod