Gestione degli eventi backupShutdown

È possibile che un'applicazione di backup (richiedente) venga terminata e non generi un evento BackupComplete . L'applicazione di backup potrebbe arrestarsi in modo anomalo o terminare (ad esempio, da Gestione attività) e non essere in grado di chiamare IVssBackupComponents::BackupComplete.

Pertanto, l'infrastruttura VSS (anziché il richiedente) genera un evento BackupShutdown ogni volta che un'istanza di IVssBackupComponents che partecipa a un backup viene rilasciata, sia che venga rilasciata dal richiedente o dal sistema.

Se un backup procede correttamente, un writer riceverà un evento BackupComplete seguito da un evento BackupShutdown.

Se l'operazione viene interrotta (il richiedente genera un evento Abort chiamando IVssBackupComponents::AbortBackup) o ha esito negativo, un writer può ricevere solo un evento BackupShutdown e potrebbe non ricevere altri eventi che eseguono operazioni di pulizia. Si tratta di un writer per determinare se un evento BackupShutdown segue una sequenza appropriata di eventi o rappresenta un errore imprevisto delle operazioni di backup.

Il gestore eventi BackupShutdown, CVssWriter::OnBackupShutdown, riceve il VSS_ID (GUID) del set di copia shadow dell'operazione di backup in fase di arresto. Il writer può usarlo per determinare quale operazione di backup è in corso di arresto, se ha archiviato l'ID del set di copia shadow durante la sequenza di backup, ad esempio da CVssWriter::OnFreeze, CVssWriter: :OnThaw o CVssWriter::OnPostSnapshot) usando CVssWriter::GetCurrentSnapshotSetId.

Tuttavia, un writer non deve chiamare CVssWriter::GetCurrentSnapshotSetId dall'interno di CVssWriter::OnBackupShutdown. Non è inoltre possibile chiamare CVssWriter::GetCurrentSnapshotSetId dopo la restituzione di CVssWriter::OnPostSnapshot .

È possibile che il writer sia coinvolto in più operazioni di backup e se un evento BackupShutdown viene chiamato a causa di un arresto improvviso di un richiedente, il VSS_ID restituito potrebbe essere quello di un'altra operazione di backup che il writer ha partecipato.