Metodo IVssProviderCreateSnapshotSet::CommitSnapshots (vsprov.h)
Il metodo CommitSnapshots esegue rapidamente il commit di tutti i LUN in questo provider.
Sintassi
HRESULT CommitSnapshots(
[in] VSS_ID SnapshotSetId
);
Parametri
[in] SnapshotSetId
Il VSS_ID che identifica il set di copie shadow.
Valore restituito
Codice/valore restituito | Descrizione |
---|---|
|
L'operazione è stata completata correttamente. |
|
Memoria insufficiente o altre risorse di sistema. |
|
Uno dei valori dei parametri non è valido. |
|
Il parametro SnapshotSetId fa riferimento a un oggetto non trovato. |
|
Si è verificato un errore imprevisto del provider. Il provider deve registrare i dettagli di questo errore nel registro eventi dell'applicazione. |
Se viene restituito un altro valore, VSS scriverà un evento nel registro eventi e convertirà l'errore in VSS_E_UNEXPECTED_PROVIDER_ERROR.
Commenti
Questo metodo viene chiamato al momento definito in cui devono essere acquisite le copie shadow. Per ogni LUN preparato in questo set di copie shadow, il provider eseguirà il lavoro necessario per rendere persistente il contenuto LUN temporizzato. Durante l'esecuzione di questo metodo, sia le applicazioni che il sottosistema di I/O sono in gran parte inescenti. Il provider deve ridurre al minimo la quantità di tempo impiegato in questo metodo. Come regola generale, il completamento di questo metodo deve richiedere meno di un secondo. Questo metodo viene chiamato durante la finestra Scaricamento e blocco e il supporto del kernel VSS annulla scarica e mantiene se la versione non viene ricevuta entro 10 secondi, causando l'esito negativo del processo di creazione della copia shadow da parte del Servizio Copia Shadow. Se ogni provider richiede più di un secondo o due per completare questa chiamata, è probabile che l'intera creazione della copia shadow avrà esito negativo.
Poiché il sistema di I/O è inattivo, il provider deve prestare attenzione a non avviare alcun I/O perché potrebbe deadlockare il sistema, ad esempio l'I/O di debug o la traccia tramite questo metodo o qualsiasi chiamata effettuata da questo metodo. I file mappati alla memoria e l'I/O di paging non verranno bloccati in questo momento.
Si noti che il sistema di I/O è in modalità inescente solo durante l'esecuzione di questo metodo. Immediatamente dopo il completamento del metodo CommitSnapshots dell'ultimo provider, il servizio Vss rilascia tutte le scritture in sospeso nei LUN di origine. Se il provider esegue una sincronizzazione dei LUN di copia shadow e di origine, questa sincronizzazione deve essere completata prima che il metodo CommitSnapshots del provider restituisca; non può essere eseguita in modo asincrono.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | vsprov.h |