IVssCreateWriterMetadata::AddAlternateLocationMapping-Methode (vswriter.h)

Die AddAlternateLocationMapping-Methode erstellt eine alternative Speicherortzuordnung für einen Dateisatz.

Syntax

HRESULT AddAlternateLocationMapping(
  [in] LPCWSTR wszSourcePath,
  [in] LPCWSTR wszSourceFilespec,
  [in] bool    bRecursive,
  [in] LPCWSTR wszDestination
);

Parameter

[in] wszSourcePath

Breite Null-Zeichenfolge mit Null-Endung, die den Namen des Verzeichnisses oder der Verzeichnishierarchie enthält, die die zuzuordnenden Dateien enthält.

Das Verzeichnis kann ein lokales Verzeichnis auf dem VSS-Computer oder ein Dateifreigabeverzeichnis auf einem Remotedateiserver sein.

Der Pfad kann Umgebungsvariablen (z. B. %SystemRoot%) enthalten, aber keine Feldhalterzeichen enthalten.

Es ist nicht erforderlich, dass der Pfad mit einem umgekehrten Schrägstrich ("") endet. Anwendungen, die diese Informationen abrufen, müssen überprüft werden.

[in] wszSourceFilespec

Breite NULL-Zeichenfolge, die die Dateispezifikation der zuzuordnenden Dateien enthält.

Eine Dateispezifikation kann keine Verzeichnisspezifikationen enthalten (z. B. keine umgekehrten Schrägstriche), kann aber den enthalten. und * Platzhalterzeichen.

[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 Hierarchie von Verzeichnissen behandelt wird, die rekursiv durchlaufen werden sollen, oder auf false , falls nicht.

Informationen zum Durchlaufen eingebundener Ordner finden Sie unter Arbeiten mit eingebundenen Ordnern und Analysepunkten.

[in] wszDestination

Breite Null-Zeichenfolge mit Null-Endung, die den vollqualifizierten Pfad zu dem Verzeichnis enthält, in dem die Dateien verschoben werden.

Das Verzeichnis kann ein lokales Verzeichnis auf dem VSS-Computer oder ein Dateifreigabeverzeichnis auf einem Remotedateiserver sein.

UNC-Pfade werden unterstützt.

Rückgabewert

Im Folgenden sind die gültigen Rückgabecodes für diese Methode aufgeführt.

Wert Bedeutung
S_OK
0x00000000L
Der Vorgang wurde durchgeführt.
E_INVALIDARG
0x80070057L
Einer der Parameterwerte ist ungültig.
E_OUTOFMEMORY
0x8007000EL
Der Aufrufer verfügt nicht über Arbeitsspeicher oder andere Systemressourcen.
VSS_E_INVALID_XML_DOCUMENT
0x80042311L
Das XML-Dokument ist ungültig. Überprüfen Sie das Ereignisprotokoll auf Details. Weitere Informationen finden Sie unter Ereignis- und Fehlerbehandlung unter VSS.
VSS_E_OBJECT_NOT_FOUND
0x80042308L
Die IVssCreateWriterMetadata::SetRestoreMethod-Methode wurde nicht aufgerufen, bevor diese Methode aufgerufen wurde.
VSS_E_UNEXPECTED
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. Writer unterstützen nur lokale Ressourcen– Dateien, deren absoluter Pfad mit einer gültigen lokalen Volumespezifikation beginnt und kein zugeordnetes Netzlaufwerk sein kann. Daher müssen Pfadeingaben (wszPath und wszDestination) zu AddAlternateLocationMapping (nach der Auflösung aller Umgebungsvariablen) in diesem Format vorliegen.

Diese Methode kann mehrmals aufgerufen werden, um zuordnungen für mehrere Dateien hinzuzufügen.

Die Kombination aus Pfad, Dateispezifikation und Rekursionsflag (wszPath, wszFileSpec bzw . bRecursive), die addAlternateLocationMapping bereitgestellt wird, um zugeordnet zu werden, muss mit dem eines der Dateisätze übereinstimmen, die einer der Komponenten des Writers mithilfe von IVssCreateWriterMetadata::AddFilesToFileGroup, IVssCreateWriterMetadata::AddDatabaseFiles oder IVssCreateWriterMetadata::AddDatabaseLogFiles hinzugefügt wurden.

Die AddAlternateLocationMapping-Methode sollte nur aufgerufen werden, nachdem IVssCreateWriterMetadata::SetRestoreMethod aufgerufen wurde.

Eine Datei sollte immer in ihrer alternativen Speicherortzuordnung wiederhergestellt werden, wenn einer der folgenden Punkte zutrifft:

  • Die Wiederherstellungsmethode (zur Sicherungszeit festgelegt) wird VSS_RME_RESTORE_TO_ALTERNATE_LOCATION.
  • Das Wiederherstellungsziel wurde (zur Wiederherstellungszeit) auf VSS_RT_ALTERNATE festgelegt.
In beiden Fällen stellt dies einen Schreibfehler dar, wenn keine gültige alternative Standortzuordnung definiert ist.

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.
Wenn keine gültige alternative Standortzuordnung definiert ist, stellt dies einen Schreibfehler dar.

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.

Weitere Informationen zu Sicherungs- und Wiederherstellungsdateispeicherorten unter VSS finden Sie unter Nicht standardmäßige Sicherungs- und Wiederherstellungsspeicherorte.

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 vswriter.h (einschließlich Vss.h, VsWriter.h)
Bibliothek VssApi.lib

Weitere Informationen

IVssCreateWriterMetadata