Freigeben über


IVssBackupComponents::GetWriterComponents-Methode (vsbackup.h)

Die GetWriterComponents-Methode wird verwendet, um Informationen zu den Komponenten eines bestimmten Writers zurückzugeben, die im Dokument der Sicherungskomponenten eines Anforderers gespeichert wurden.

Syntax

HRESULT GetWriterComponents(
  [in]  UINT                    iWriter,
  [out] IVssWriterComponentsExt **ppWriter
);

Parameter

[in] iWriter

Der Index des abgefragten Writers. Es ist eine Zahl zwischen 0 und n-1, wobei n der von IVssBackupComponents::GetWriterComponentsCount zurückgegebene Wert ist.

[out] ppWriter

Doppelt indirekter Zeiger auf ein IVssWriterComponentsExt-Schnittstellenobjekt , das die zurückgegebenen Komponenteninformationen empfängt.

Rückgabewert

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

Wert Bedeutung
S_OK
Erfolgreich einen Zeiger auf ein IVssWriterComponentsExt-Schnittstellenobjekt zurückgegeben.
E_INVALIDARG
Einer der Parameterwerte ist ungültig.
E_OUTOFMEMORY
Der Aufrufer verfügt nicht über 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 in der richtigen Sequenz aufgerufen.
VSS_E_OBJECT_NOT_FOUND
Die angegebene Schattenkopie 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

Der Aufrufer dieser Methode muss IUnknown::Release aufrufen, wenn der Zugriff auf die Komponenteninformationen abgeschlossen ist.

GetWriterComponents ruft Komponenteninformationen für eine Komponente ab, die im Dokument Sicherungskomponenten gespeichert ist, indem zuvor IVssBackupComponents::AddComponent aufgerufen wurde.

Die Informationen in den Komponenten, die im Dokument Sicherungskomponenten gespeichert sind, sind nicht statisch. Wenn ein Writer eine Komponente während einer Wiederherstellung aktualisiert, wird diese Änderung in der von GetWriterComponents abgerufenen Komponente widerspiegelt. Dies steht im Gegensatz zu Komponenteninformationen im IVssWMComponent-Objekt , das von IVssExamineWriterMetadata::GetComponent zurückgegeben wird. Diese Informationen sind schreibgeschützt und stammen aus dem WriterMetadatendokument eines Writer-Prozesses.

Der IVssWriterComponentsExt-Schnittstellenzeiger , der im pWriterComponents-Parameter zurückgegeben wird, sollte nicht zwischengespeichert werden, da die folgenden IVssBackupComponents-Methoden dazu führen, dass der von GetWriterComponents zurückgegebene Schnittstellenzeiger nicht mehr gültig ist:

IVssBackupComponents::P repareForBackupIVssBackupComponents::D oSnapshotSetIVssBackupComponents::BackupCompleteIVssBackupComponents::P reRestoreIVssBackupComponents::P ostRestore Wenn Sie eine dieser Methoden aufrufen, nachdem Sie einen IVssWriterComponentsExt-Schnittstellenzeiger durch Aufrufen von GetWriterComponents abgerufen haben, können Sie diesen Zeiger nicht wiederverwenden. weil sie nicht mehr gültig ist. Stattdessen müssen Sie GetWriterComponents erneut aufrufen, um einen neuen IVssWriterComponentsExt-Schnittstellenzeiger abzurufen.

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

Weitere Informationen

IVssBackupComponents

IVssBackupComponents::AddComponent

IVssBackupComponents::GatherWriterMetadata

IVssBackupComponents::GetWriterComponentsCount

IVssBackupComponents::GetWriterMetadata

IVssBackupComponents::P reRestore

IVssExamineWriterMetadata

IVssExamineWriterMetadata::GetComponent

IVssWriterComponents

IVssWriterComponentsExt