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
S_OK
Die Alternative Standortzuordnung wurde erfolgreich hinzugefügt.
E_INVALIDARG
Einer der Parameterwerte ist ungültig.
E_OUTOFMEMORY
Der Aufrufer verfügt über nicht genügend Arbeitsspeicher oder andere Systemressourcen.
VSS_E_BAD_STATE
Das Sicherungskomponentenobjekt wird nicht initialisiert, diese Methode wurde während eines Wiederherstellungsvorgangs aufgerufen, oder diese Methode wurde nicht innerhalb der richtigen Sequenz aufgerufen.
VSS_E_INVALID_XML_DOCUMENT
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
Die angegebene Komponente ist nicht vorhanden.
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.

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:

  1. Rufen Sie gespeicherte Writer-Metadatendokumente von den Sicherungsmedien ab, und laden Sie diese Informationen mit IVssExamineWriterMetadata::LoadFromXML.
  2. Rufen Sie IVssExamineWriterMetadata::GetAlternateLocationMapping auf, um eine IVssWMFiledesc-Schnittstelle mit den Zuordnungsinformationen abzurufen, und verwenden Sie IVssWMFiledesc::GetAlternateLocation , um den alternativen Speicherort abzurufen.
  3. Untersuchen Sie die filedesc-Informationen, um zu bestimmen, auf welche Komponente diese alternative Standortzuordnung angewendet werden soll.
  4. Rufen Sie IVssBackupComponents::AddAlternativeLocationMapping auf, um zu kommunizieren, wo Dateien wiederhergestellt wurden.
Eine Datei sollte immer in ihrer alternativen Speicherortzuordnung wiederhergestellt werden, wenn eine der folgenden Punkte zutrifft:
  • 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.
Wenn keine gültige alternative Standortzuordnung definiert ist, stellt dies in beiden Fällen einen Writerfehler dar.

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 wiederum einen Writerfehler 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.

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

Weitere Informationen

IVssBackupComponents

IVssWMFiledesc::GetAlternateLocation

VSS_COMPONENT_TYPE