VSS_RESTOREMETHOD_ENUM-Enumeration (vswriter.h)
Die VSS_RESTOREMETHOD_ENUM-Enumeration wird von einem Writer zur Sicherungszeit verwendet, um über das Writer Metadata Document die Standarddateiwiederherstellungsmethode anzugeben, die mit allen Dateien in allen von ihm verwalteten Komponenten verwendet werden soll.
Die Wiederherstellungsmethode ist writerweit und wird auch als ursprüngliches Wiederherstellungsziel bezeichnet und durch einen VSS_RESTORE_TARGET Wert von VSS_RT_ORIGINAL angegeben.
Syntax
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
} ;
Konstanten
VSS_RME_UNDEFINED Wert: 0 Es ist keine Wiederherstellungsmethode definiert. Dies weist auf einen Fehler seitens des Writers hin. Dieser Wert wird für Express-Writer nicht unterstützt. |
VSS_RME_RESTORE_IF_NOT_THERE Der Anforderer sollte die Dateien einer ausgewählten Komponente oder Komponentenmenge nur wiederherstellen, wenn keine Versionen von vorhanden sind. diese Dateien, die sich derzeit auf dem Datenträger befinden. Es sei denn, für die Dateiwiederherstellung werden alternative Speicherortzuordnungen definiert, wenn eine Version einer von einem verwalteten Datei Die ausgewählte Komponente oder der ausgewählte Komponentensatz befindet sich derzeit auf dem Datenträger, keine der dateien, die vom ausgewählten verwaltet werden Die Komponente oder der Komponentensatz sollte wiederhergestellt werden. Wenn die alternative Speicherortzuordnung einer Datei definiert ist und eine Version der Dateien auf dem Datenträger auf dem Ursprünglicher Speicherort, Dateien sollten nur an den alternativen Speicherort geschrieben werden, wenn keine Version der Datei vorhanden ist der alternative Speicherort. |
VSS_RME_RESTORE_IF_CAN_REPLACE Der Anforderer sollte Dateien einer ausgewählten Komponente oder Komponentenmenge nur wiederherstellen, wenn die dateien, die sich derzeit auf dem Datenträger befinden, überschrieben werden können. Es sei denn, es werden alternative Speicherortzuordnungen für die Dateiwiederherstellung definiert, wenn eine Version einer Datei vorhanden ist, die kann nicht von der ausgewählten Komponente oder Komponente auf dem Datenträger überschrieben werden. Die Komponente oder der Komponentensatz sollte wiederhergestellt werden. Wenn die Alternative Speicherortzuordnung einer Datei definiert ist, sollten Dateien an den alternativen Speicherort geschrieben werden. |
VSS_RME_STOP_RESTORE_START Der Anforderer sollte den Wiederherstellungsvorgang wie folgt ausführen:
Der zu beendende Dienst wird im Voraus als Writer angegeben, wenn er die IVssCreateWriterMetadata::SetRestoreMethod-Methode aufruft . Der Anforderer kann den Namen des Diensts abrufen, indem er die IVssExamineWriterMetadata::GetRestoreMethod-Methode aufruft . Beachten Sie, dass, wenn der Writer in dem Dienst gehostet wird, der beendet wird, dieser Writer das PostRestore-Ereignis nicht empfängt, da sich der Writer instance ID ändert, wenn der Dienst beendet und neu gestartet wird. |
VSS_RME_RESTORE_TO_ALTERNATE_LOCATION Der Anforderer sollte die Dateien der ausgewählten Komponente oder Komponente an dem durch den angegebenen Speicherort wiederherstellen. Alternative Speicherortzuordnung, die in der Metadatendatei der Writer-Komponente angegeben ist. (Weitere Informationen finden Sie unter IVssCreateWriterMetadata::AddAlternateLocationMapping, IVssComponent::GetAlternateLocationMapping, IVssExamineWriterMetadata::GetAlternateLocationMapping, und IVssWMFiledesc::GetAlternateLocation.) Dieser Wert wird für Express-Writer nicht unterstützt. |
VSS_RME_RESTORE_AT_REBOOT Der Anforderer sollte die Dateien einer ausgewählten Komponente oder Komponente wiederherstellen, nachdem der Computer neu gestartet wurde. Die wiederherzustellenden Dateien sollten an einen temporären Speicherort kopiert werden, und der Anforderer sollte verwenden. MoveFileEx mit dem MOVEFILE_DELAY_UNTIL_REBOOT Flag, um die Wiederherstellung dieser Dateien in ihren Der richtige Speicherort nach dem Neustart des Computers. |
VSS_RME_RESTORE_AT_REBOOT_IF_CANNOT_REPLACE Wenn möglich, sollte der Anforderer die Dateien der ausgewählten Komponente oder Komponente auf ihren richtigen Wert wiederherstellen. sofort. Wenn Versionen einer der Dateien vorhanden sind, die von der ausgewählten Komponente oder Komponente verwaltet werden, die auf dem Datenträger festgelegt ist, kann nicht überschrieben werden, dann sollten alle Dateien, die von der ausgewählten Komponente oder dem ausgewählten Komponentensatz verwaltet werden, wiederhergestellt werden. nachdem der Computer neu gestartet wurde. In diesem Fall sollten dateien, die wiederhergestellt werden sollen, an einen temporären Speicherort auf dem Datenträger kopiert werden, und der Anforderer sollte Verwenden Sie MoveFileEx mit dem MOVEFILE_DELAY_UNTIL_REBOOT Flag, um die Wiederherstellung dieser Dateien in ihren Der richtige Speicherort nach dem Neustart des Computers. |
VSS_RME_CUSTOM Der Anforderer sollte eine benutzerdefinierte Wiederherstellungsmethode verwenden, um die Dateien wiederherzustellen, die von dem ausgewählten verwaltet werden. Komponente oder Komponentensatz. Eine benutzerdefinierte Wiederherstellung kann Dateiabruf-API-Funktionen oder Protokolle verwenden, die für einen bestimmten Writer privat sind. Anwendung. Eine solche Wiederherstellung muss nicht die Informationen in der Metadatendatei der Writer-Komponente verwenden. (Weitere Informationen finden Sie unter Benutzerdefinierte Sicherungen und Wiederherstellungen für weitere Informationen Informationen.) Dieser Wert wird für Express-Writer nicht unterstützt. |
VSS_RME_RESTORE_STOP_START Der Anforderer sollte den Wiederherstellungsvorgang wie folgt ausführen:
Der zu beendende Dienst wird vom Writer im Voraus angegeben, wenn er die IVssCreateWriterMetadata::SetRestoreMethod-Methode aufruft . Der Anforderer kann den Namen des Diensts abrufen, indem er die IVssExamineWriterMetadata::GetRestoreMethod-Methode aufruft . |
Hinweise
Ein Writer legt die Wiederherstellungsmethode im Writer Metadata Document fest, indem er IVssCreateWriterMetadata::SetRestoreMethod während der Sicherung aufruft, um die gewünschte Wiederherstellungsmethode in den Metadaten anzugeben.
Ein Anforderer ruft die angeforderte Wiederherstellungsmethode eines Writers ab, indem er IVssExamineWriterMetadata::GetRestoreMethod aufruft und entsprechend handelt.
Die Wiederherstellungsmethode gilt für alle Dateien in allen Komponenten eines bestimmten Writers.
Die Wiederherstellungsmethode kann zur Wiederherstellungszeit komponentenweise überschrieben werden, wenn ein Writer einen anderen VSS_RESTORE_TARGET Wert als VSS_RT_ORIGINAL mit IVssComponent::SetRestoreTarget festlegt.
Eine Wiederherstellungsmethode von VSS_RME_RESTORE_TO_ALTERNATE_LOCATION ohne eine alternative Standortzuordnung, die definiert ist, stellt einen Schreibfehler dar, der vom Anforderer als solche gemeldet werden sollte.
Wenn eine Wiederherstellungsmethode eine Überprüfung der status von Dateien erfordert, die sich derzeit auf dem Datenträger befinden (VSS_RME_RESTORE_IF_NOT_THERE, VSS_RME_RESTORE_IF_CAN_REPLACE oder VSS_RME_RESTORE_AT_REBOOT_IF_CANNOT_REPLACE), sollten Sie idealerweise Datei-E/A-Vorgänge verwenden, um zu überprüfen, ob eine gesamte Komponente wiederhergestellt werden kann, bevor Sie mit der Wiederherstellung fortfahren.
Die sicherste Möglichkeit wäre, alle Zieldateien mit CreateFile vor der Wiederherstellung exklusiv (ohne Freigabe) zu öffnen.
Bei VSS_RME_RESTORE_IF_NOT_THERE sollte auch ein Erstellungsdispositionsflag von CREATE_NEW festgelegt werden.
Wenn die geöffneten Vorgänge erfolgreich sind, kann die Wiederherstellung fortgesetzt werden und sollte die von CreateFile zurückgegebenen Handles verwenden, um wiederhergestellte Daten tatsächlich auf den Datenträger zu schreiben.
Andernfalls kann je nach Methode ein Fehler zurückgegeben oder die alternative Standortzuordnung aktiviert und (sofern verfügbar) verwendet oder die Komponentendateien für die Wiederherstellung beim nächsten Neustart bereitgestellt werden.
Dies kann aufgrund des Systemaufwands ein Problem für sehr große Komponenten sein (von denen einige Tausende von Dateien enthalten können).
In diesem Fall besteht eine verfügbare, wenn auch weniger zuverlässige Option darin, Folgendes zu tun:
- Kopieren Sie alle Dateien, die sich derzeit auf dem Datenträger befinden und in einen temporären Cache wiederhergestellt werden sollen.
- Versuchen Sie, die dateien, die sich derzeit auf dem Datenträger befinden, durch die gesicherten Dateien zu ersetzen (die sich entweder auf dem Datenträger in einem zweiten temporären Bereich oder auf einem Sicherungsmedium befinden können).
- Wenn dateien nicht wiederhergestellt werden können, beenden Sie den Wiederherstellungsvorgang, und kopieren Sie die ursprünglichen Dateien von ihrem temporären Speicherort zurück, und fahren Sie mit der alternativen Speicherortzuordnung oder der Wiederherstellung bei Neustartvorgängen fort.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Kopfzeile | vswriter.h |
Weitere Informationen
IVssBackupComponents::AddAlternativeLocationMapping
IVssComponent::GetAlternateLocationMapping
IVssCreateWriterMetadata::AddAlternateLocationMapping
IVssCreateWriterMetadata::SetRestoreMethod
IVssExamineWriterMetadata::GetAlternateLocationMapping
IVssExamineWriterMetadata::GetRestoreMethod