Freigeben über


Fehlerbehandlung bei Schattenkopieanbietern

VSS ermöglicht es vielen Schattenkopien gleichzeitig zu existieren, aber es ermöglicht nur die Erstellung eines Schattenkopie-Sets zwischen dem Aufruf von IVssBackupComponents::StartSnapshotSet und die Rückgabe vom Aufruf an IVssBackupComponents::D oSnapshotSet.

Kein Partieller Commit

Wenn ein Anbieter eine Schattenkopie auf einem Volume oder EINER LUN im Schattenkopiensatz fehlschlägt, schlägt die Erstellung des gesamten Schattenkopie-Satzes fehl. Dies ist beabsichtigt. Dieses Design vereinfacht die Verhaltensprobleme im Zusammenhang mit partieller Fehlersemantik und hält einen konsistenten Punkt in der Zeit über alle Schattenkopien im Satz hinweg.

Melden von Fehlerbedingungen

Wenn ein Anbieterfehler oder eine Fehlerbedingung auftritt, muss der Anbieter einen Fehler im Anwendungsereignisprotokoll protokollieren. Dies umfasst, aber nicht beschränkt auf anbieterspezifische Fehler beim Erstellen oder Importieren eines Schattenkopiensatzes oder ressourcenzuordnungsfehlern für Kopier-on-Write-Schattenkopien nach der Erstellung. Diese Protokollierung darf nicht während der Zeit stattfinden, in der die Volumes im Schattenkopie-Satz in einem fixierten Zustand liegen.

Gültige Rückgabewerte des Anbieters

In der folgenden Tabelle sind die gültigen Rückgabecodes für Anbietermethoden und deren Bedeutung aufgeführt.

Wert Beschreibung
S_OK
Die Methode war erfolgreich.
E_OUTOFMEMORY
Der Anbieter hat nicht genügend Arbeitsspeicher oder andere Systemressourcen.
E_INVALIDARG
Einer der Parameterwerte ist ungültig.
E_ACCESSDENIED
Ein nicht privilegierter Client hat versucht, den Anbieter aufzurufen.
VSS_E_BAD_STATE
Entweder unterstützt kein Anbieter den angeforderten Vorgang, oder der Vorgang kann für das Objekt nicht ausgeführt werden, da sich das Objekt nicht im richtigen Zustand befindet.
VSS_E_OBJECT_NOT_FOUND
Ein Parameter bezieht sich auf ein Objekt, das nicht gefunden wurde (z. B. eine Schattenkopie-ID, Schattenkopiensatz-ID oder Volume).)
VSS_E_INSUFFICIENT_STORAGE
Der Anbieter kann den Vorgang nicht ausführen, da nicht genügend Speicherplatz vorhanden ist.
VSS_E_VOLUME_NOT_SUPPORTED
Auf diesem Computer unterstützt kein Anbieter den angeforderten Vorgang auf dem Volume.
VSS_E_VOLUME_NOT_SUPPORTED_BY_PROVIDER
Das Volume wird vom Anbieter nicht unterstützt.
VSS_E_MAXIMUM_NUMBER_OF_SNAPSHOTS_REACHED
Der Anbieter hat die maximale Anzahl von Schattenkopien erreicht, die er unterstützen kann.
VSS_E_PROVIDER_VETO
Der Anbieter hat einen internen Laufzeitfehler festgestellt, der keinem anderen Rückgabewert zugeordnet ist. Der Anbieter muss auch ein Ereignis in das Anwendungsereignisprotokoll schreiben, das dem Benutzer Informationen zum Beheben dieses Problems liefert.
VSS_E_CANNOT_REVERT_DISKID
Die MBR-Signatur oder GPT-ID für einen oder mehrere Datenträger konnte nicht auf den angeforderten Wert festgelegt werden. Weitere Informationen finden Sie im Anwendungsereignisprotokoll.

 

Der Anbieter sollte nicht versuchen, andere Fehlercodes zurückzugeben.

Wenn der Anbieter einen Fehlercode zurückgibt, der nicht erwartet wird (z. B. S_FALSE, E_FAIL, E_UNEXPECTEDoder E_ABORT), schreibt VSS ein Ereignis in das Ereignisprotokoll, in das der Anbieter erwähnt wird, und die fehlgeschlagene Methode und übersetzt den Fehler in VSS_E_UNEXPECTED_PROVIDER_ERROR, bevor er an den Antragsteller zurückgegeben wird. Dies geschieht nicht für Rückgaben von IVssProviderCreateSnapshotSet::AbortSnapshots oder IVssProviderNotifications::OnUnload.