IVssCreateWriterMetadata::AddComponentDependency-Methode (vswriter.h)

Mit der AddComponentDependency-Methode kann ein Writer angeben, dass eine von ihm verwaltete Komponente eine explizite Writer-Komponentenabhängigkeit aufweist. Das heißt, eine andere Komponente in einem anderen Writer muss gesichert und mit ihr wiederhergestellt werden.

Syntax

HRESULT AddComponentDependency(
  [in] LPCWSTR wszForLogicalPath,
  [in] LPCWSTR wszForComponentName,
  [in] VSS_ID  onWriterId,
  [in] LPCWSTR wszOnLogicalPath,
  [in] LPCWSTR wszOnComponentName
);

Parameter

[in] wszForLogicalPath

Eine breite NULL-Zeichenfolge, die den logischen Pfad der Komponente enthält (vom aktuellen Writer verwaltet), die eine Abhängigkeit erfordert.

[in] wszForComponentName

Eine breite NULL-Zeichenfolge, die die -Komponente enthält (vom aktuellen Writer verwaltet), die eine Abhängigkeit erfordert.

[in] onWriterId

Die Klassen-ID oder VSS_ID (GUID) des Writers, der die Komponente verwaltet, von der die aktuelle Komponente abhängt.

[in] wszOnLogicalPath

Der logische Pfad der Komponente (verwaltet vom Writer, der von onWriterId identifiziert wird), von der die aktuelle Komponente abhängt.

[in] wszOnComponentName

Der Name der Komponente (verwaltet durch den von onWriterId identifizierten Writer), von der die aktuelle Komponente abhängt.

Rückgabewert

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

Wert Bedeutung
S_OK
Der Vorgang wurde durchgeführt.
E_INVALIDARG
Einer der Parameterwerte ist ungültig.
E_OUTOFMEMORY
Der Aufrufer verfügt nicht über Arbeitsspeicher oder andere Systemressourcen.
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 von wszForLogicalPath und wszForComponentName 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

Abhängigkeiten von Komponenten, die vom aktuellen Writer verwaltet werden, sind nicht zulässig.

Eine Abhängigkeit erfordert, dass sowohl das Ziel der Abhängigkeit als auch die Komponente, die vom Ziel abhängt, wiederhergestellt und gemeinsam gesichert werden. Es gibt keine Priorität zwischen den Komponenten an, obwohl ein Anforderer dies möglicherweise implementieren möchte.

Da die Kombination aus logischem Namen und Komponentenname für alle Instanzen einer Writer-Klasse eindeutig sein muss, ist die Tatsache, dass mehrere Autoren möglicherweise über dieselbe Klassen-ID verfügen, kein Problem.

Diese Methode kann verwendet werden, um Remoteabhängigkeiten zu deklarieren. Ein Writer kann eine Remoteabhängigkeit deklarieren, indem er "\\RemoteComputerName" angibt, wobei RemoteComputerName der Name des Computers ist, auf dem sich die Remotekomponente befindet, zum logischen Pfad im wszOnLogicalPath-Parameter . Der Wert von RemoteComputerName kann eine IP-Adresse oder ein Computername sein, der von der GetComputerNameEx-Funktion zurückgegeben wird.

Wenn sich die Remotekomponente in einem Cluster befindet, muss der Writer den virtuellen Namen für den Cluster melden, und es liegt in der Verantwortung des Anforderers, den virtuellen Namen dem physischen Namen eines Clusterknotens zuzuordnen, bevor eine Volumeschattenkopie erstellt werden kann.

Um zu bestimmen, ob eine Abhängigkeit lokal oder remote ist, muss der Anforderer den im pbstrComponentName-Parameter zurückgegebenen Komponentennamen untersuchen. Wenn der Komponentenname mit "\" beginnt, muss der Anforderer davon ausgehen, dass er eine Remoteabhängigkeit angibt und dass die erste Komponente nach "\" der vom Writer angegebene RemoteComputerName ist. Wenn der Komponentenname nicht mit "\" beginnt, sollte der Anforderer davon ausgehen, dass er eine lokale Abhängigkeit angibt.

Windows Server 2003: Diese Methode kann erst unter Windows Server 2003 mit Service Pack 1 (SP1) zum Deklarieren von Remoteabhängigkeiten verwendet werden.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [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