IVssBackupComponents::AddAlternativeLocationMapping-Methode (vsbackup.h)
Die AddAlternativeLocationMapping-Methode wird von einem Anforderer verwendet, um anzugeben, dass eine alternative Speicherortzuordnung verwendet wurde, um alle Elemente eines Dateisatzes in einer bestimmten Komponente wiederherzustellen.
Syntax
HRESULT AddAlternativeLocationMapping(
[in] VSS_ID writerId,
[in] VSS_COMPONENT_TYPE componentType,
[in] LPCWSTR wszLogicalPath,
[in] LPCWSTR wszComponentName,
[in] LPCWSTR wszPath,
[in] LPCWSTR wszFilespec,
[in] bool bRecursive,
[in] LPCWSTR wszDestination
);
Parameter
[in] writerId
GuiD (Globally Unique Identifier) der Writer-Klasse, die die Komponente exportiert hat.
[in] componentType
Typ der Komponente. Die möglichen Werte dieses Parameters werden durch die VSS_COMPONENT_TYPE-Enumeration definiert.
[in] wszLogicalPath
Mit Null beendete Breitzeichenzeichenfolge, die den logischen Pfad zur Komponente enthält.
Weitere Informationen finden Sie unter Logische Pfade von Komponenten.
Der logische Pfad kann NULL sein.
Es gibt keine Einschränkungen für die Zeichen, die in einem logischen Pfad ohne NULL angezeigt werden können.
[in] wszComponentName
Mit Null beendete Breitzeichenzeichenfolge, die den Komponentennamen enthält.
Es gibt keine Einschränkungen für die Zeichen, die in einem logischen Pfad ohne NULL angezeigt werden können.
[in] wszPath
Zeichenfolge mit NULL-Beendigung, die den Pfad zu dem Verzeichnis enthält, das ursprünglich die zu verschiebende Datei enthielt. Dieser Pfad kann lokal auf dem VSS-Computer oder ein Dateifreigabeverzeichnis auf einem Remotedateiserver sein.
Der Pfad kann Umgebungsvariablen (z. B. %SystemRoot%) enthalten, darf aber keine Wildcardzeichen enthalten. UNC-Pfade werden unterstützt.
Es ist nicht erforderlich, dass der Pfad mit einem umgekehrten Schrägstrich ("") endet. Es ist an Anwendungen, die diese Informationen abrufen, um sie zu überprüfen.
[in] wszFilespec
Mit Null beendete Breitzeichenzeichenfolge, die die ursprüngliche Dateispezifikation enthält.
Eine Dateispezifikation kann keine Verzeichnisspezifikationen enthalten (z. B. keine umgekehrten Schrägstriche), sondern das ? und * Wildcardzeichen.
[in] bRecursive
Ein boolescher Wert, der angibt, ob der vom wszPath-Parameter angegebene Pfad nur ein einzelnes Verzeichnis identifiziert oder ob er eine Hierarchie von Verzeichnissen angibt, die rekursiv durchlaufen werden sollen. Dieser Parameter sollte auf TRUE festgelegt werden, wenn der Pfad als Eine Hierarchie von Verzeichnissen behandelt wird, die rekursiv durchlaufen werden sollen, oder false , wenn dies nicht der Fall ist.
Informationen zum Durchlaufen von eingebundenen Ordnern finden Sie unter Arbeiten mit eingebundenen Ordnern und Analysepunkten.
[in] wszDestination
Mit Null beendete Breitzeichenzeichenfolge, die den Namen des Verzeichnisses enthält, in das die Datei verschoben wird. Dieser Pfad kann lokal auf dem VSS-Computer oder ein Dateifreigabeverzeichnis auf einem Remotedateiserver sein. UNC-Pfade werden unterstützt.
Rückgabewert
Im Folgenden finden Sie die gültigen Rückgabecodes für diese Methode.
Wert | Bedeutung |
---|---|
|
Die Alternative Standortzuordnung wurde erfolgreich hinzugefügt. |
|
Einer der Parameterwerte ist ungültig. |
|
Der Aufrufer verfügt über nicht genügend Arbeitsspeicher oder andere Systemressourcen. |
|
Das Sicherungskomponentenobjekt wird nicht initialisiert, diese Methode wurde während eines Wiederherstellungsvorgangs aufgerufen, oder diese Methode wurde nicht innerhalb der richtigen Sequenz aufgerufen. |
|
Das XML-Dokument ist ungültig. Überprüfen Sie das Ereignisprotokoll auf Details. Weitere Informationen finden Sie unter Ereignis- und Fehlerbehandlung unter VSS. |
|
Die angegebene Komponente ist nicht vorhanden. |
|
Unerwarteter Fehler. Der Fehlercode wird in der Fehlerprotokolldatei protokolliert. Weitere Informationen finden Sie unter Ereignis- und Fehlerbehandlung unter VSS.
Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird erst unter Windows Server 2008 R2 und Windows 7 unterstützt. stattdessen wird E_UNEXPECTED verwendet. |
Hinweise
Windows 7, Windows Server 2008 R2, Windows Vista, Windows Server 2008, Windows XP und Windows Server 2003: Remotedateifreigaben werden erst unterstützt, wenn Windows 8 und Windows Server 2012.
Die Parameter writerId, componentType, wszLogicalPath und wszComponentName identifizieren eine bestimmte Komponente, und die Parameter wszPath, wszFilespec und bRecursive identifizieren den Dateisatz, der zu dieser Komponente gehört.
Die Kombination aus Pfad, Dateispezifikation, und rekursionsflags (wszPath, wszFilespec und bRecursive), die für AddAlternativeLocationMapping bereitgestellt werden, müssen mit dem eines der Dateisätze übereinstimmen, die einer Komponente mithilfe von IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles oder IVssCreateWriterMetadata::AddDatabaseLogFiles hinzugefügt wurden.
Da AddAlternativeLocationMapping verwendet wird, um einen Writer zu benachrichtigen, dass ein alternativer Speicherort zum Wiederherstellen aller Dateien in einer Komponente verwendet wurde, sollte er nicht für Komponenten oder Dateien in einer Komponente aufgerufen werden, für die keine alternative Speicherortzuordnung angegeben wurde.
Der Wert von wszPath wurde wszDestination bei der Wiederherstellung zugeordnet; Dateinamen und Unterverzeichnisse unter dem ursprünglichen Pfad behalten jedoch dieselben Namen bei.
Eine typische Verwendung von AddAlternativeLocationMapping während der Wiederherstellung kann wie folgt sein:
- Rufen Sie gespeicherte Writer-Metadatendokumente von den Sicherungsmedien ab, und laden Sie diese Informationen mit IVssExamineWriterMetadata::LoadFromXML.
- Rufen Sie IVssExamineWriterMetadata::GetAlternateLocationMapping auf, um eine IVssWMFiledesc-Schnittstelle mit den Zuordnungsinformationen abzurufen, und verwenden Sie IVssWMFiledesc::GetAlternateLocation , um den alternativen Speicherort abzurufen.
- Untersuchen Sie die filedesc-Informationen, um zu bestimmen, auf welche Komponente diese alternative Standortzuordnung angewendet werden soll.
- Rufen Sie IVssBackupComponents::AddAlternativeLocationMapping auf, um zu kommunizieren, wo Dateien wiederhergestellt wurden.
- Die Wiederherstellungsmethode (zum Zeitpunkt der Sicherung festgelegt) ist VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
- Das Wiederherstellungsziel wurde (zum Zeitpunkt der Wiederherstellung) auf VSS_RT_ALTERNATE festgelegt.
Eine Datei kann in einer alternativen Speicherortzuordnung wiederhergestellt werden, wenn einer der folgenden Punkte zutrifft:
- Die Wiederherstellungsmethode ist VSS_RME_RESTORE_IF_NOT_THERE, und eine Version der Datei ist bereits auf dem Datenträger vorhanden.
- Die Wiederherstellungsmethode ist VSS_RME_RESTORE_IF_CAN_REPLACE, und eine Version der Datei ist auf dem Datenträger vorhanden und kann nicht ersetzt werden.
Eine alternative Speicherortzuordnung wird nur während eines Wiederherstellungsvorgangs verwendet und sollte nicht mit einem alternativen Pfad verwechselt werden, der nur während eines Sicherungsvorgangs verwendet wird.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | vsbackup.h (enthalten VsBackup.h, Vss.h, VsWriter.h) |
Bibliothek | VssApi.lib |