Metodo CVssWriter::OnBackupComplete (vswriter.h)
Il metodo OnBackupComplete viene chiamato da un writer che segue un evento BackupComplete . Viene usato per eseguire operazioni considerate necessarie dopo un backup. Queste operazioni non possono tuttavia modificare il documento Componenti di backup.
OnBackupComplete è un metodo virtuale. Viene implementato dalla classe di base CVssWriter , ma può essere sottoposto a override da classi derivate.
Sintassi
bool OnBackupComplete(
[in] IVssWriterComponents *pComponent
);
Parametri
[in] pComponent
Puntatore a un oggetto IVssWriterComponents passato da VSS per fornire al metodo l'accesso alle informazioni sul componente del writer. Il valore di questo parametro può essere NULL se il richiedente non supporta i componenti (se CVssWriter::AreComponentsSelected restituisce false).
Valore restituito
Come implementato dalla classe base, OnBackupComplete restituisce sempre true.
Qualsiasi altra implementazione di questo metodo deve restituire true tranne nel caso di un errore irreversibile. Se si verifica un errore irreversibile, il metodo deve chiamare il metodo CVssWriter::SetWriterFailure per fornire una descrizione dell'errore prima di restituire false. Se si verifica un errore non irreversibile, il metodo deve comunque chiamare SetWriterFailure ma restituire true. Se l'errore è causato da un problema temporaneo, il metodo deve specificare VSS_E_WRITERERROR_RETRYABLE nella chiamata a SetWriterFailure.
In tutti i casi in cui si verifica un errore, il metodo deve scrivere un evento nel registro eventi per segnalare il motivo esatto dell'errore.
Commenti
L'implementazione predefinita di questo metodo da parte di CVssWriter classe di base restituisce true senza eseguire altre operazioni.
Se le operazioni speciali devono essere eseguite dal writer alla fine di un backup, è possibile eseguire l'override dell'implementazione predefinita.
Con la generazione di un evento BackupComplete , il documento dei componenti di backup di un richiedente diventa un documento di sola lettura. Pertanto, i tentativi di modificare il documento tramite l'interfaccia (ad esempio, chiamando IVssComponent::SetBackupMetadata) avranno esito negativo nelle implementazioni utente di OnBackupComplete.
Un'applicazione di backup completata genererà un evento BackupComplete quando tutti i dati sono stati salvati nel supporto di backup.
Tuttavia, non esiste alcuna garanzia che il writer riceva una notifica di evento BackupComplete , perché richiedono che l'applicazione di backup completi correttamente il backup o non riesca correttamente.
Un evento BackupComplete potrebbe non essere generato se l'applicazione di backup viene terminata dal sistema o manualmente prima del completamento del backup, ad esempio se l'operazione di backup è bloccata e deve essere arrestata.
Un writer deve mantenere le informazioni sullo stato in modo che possa tenere traccia dell'invio di un evento BackupComplete per un determinato set di copie shadow.
Queste informazioni possono essere usate dal gestore eventi BackupShutdown di un writer (CVssWriter::OnBackupShutdown), che verrà chiamato quando un'applicazione di backup termina effettivamente e viene rilasciato il relativo IVssBackupComponents , per eseguire operazioni di pulizia non deve essere presente alcuna chiamata a OnBackupComplete.
Gli autori non devono mai generare un'eccezione da questo metodo o da altri CVssWriter(Ex)::OnXxx metodo di callback.
Se questo metodo chiama il metodo CVssWriterEx2::GetSessionId, CVssWriter::SetWriterFailure o CVssWriterEx2::SetWriterFailureEx , deve farlo nello stesso thread che ha chiamato questo metodo. Per altre informazioni, vedere Gestione degli eventi writer.
Requisiti
Requisito | Valore |
---|---|
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 |