IVssHardwareSnapshotProviderEx::ResyncLuns-Methode (vsprov.h)
Der VSS-Dienst ruft diese Methode auf, um Hardwareanbieter zu benachrichtigen, dass eine LUN-Neusynchronisierung erforderlich ist.
Syntax
HRESULT ResyncLuns(
[in] VDS_LUN_INFORMATION *pSourceLuns,
[in] VDS_LUN_INFORMATION *pTargetLuns,
[in] DWORD dwCount,
[out] IVssAsync **ppAsync
);
Parameter
[in] pSourceLuns
Ein Zeiger auf ein Array von dwCountVDS_LUN_INFORMATION Strukturen, eines für jedes LUN, das zum Schattenkopievolumen beiträgt.
[in] pTargetLuns
Ein Zeiger auf ein Array von dwCount-VDS_LUN_INFORMATION Strukturen, eines für jedes LUN, das zum Zielvolume beiträgt, in das der Inhalt des Schattenkopievolumes kopiert werden soll.
[in] dwCount
Die Anzahl der Elemente im pSourceLuns Array. Dies ist auch die Anzahl der Elemente in der pTargetLuns Array.
[out] ppAsync
Ein Zeiger auf eine Position, die einen IVssAsync- Schnittstellenzeiger empfängt, der zum Abrufen des Status des Resynchronisierungsvorgangs verwendet werden kann. Wenn der Vorgang abgeschlossen ist, muss der Aufrufer den Schnittstellenzeiger freigeben, indem die IUnknown::Release-Methode aufgerufen wird.
Rückgabewert
Diese Methode kann einen dieser Werte zurückgeben.
Zurückgeben von Code/Wert | Beschreibung |
---|---|
|
Der Vorgang wurde erfolgreich abgeschlossen. |
|
Nicht genügend Arbeitsspeicher oder andere Systemressourcen. |
|
Unerwarteter Anbieterfehler. Wenn dieser Fehlercode zurückgegeben wird, muss der Fehler in einem Eintrag im Anwendungsereignisprotokoll beschrieben werden und dem Benutzer Informationen zur Behebung des Problems geben. |
|
Der Anbieter kann den Vorgang nicht ausführen, da nicht genügend Speicherplatz vorhanden ist. |
Bemerkungen
Die Ziel-LUNs können luNs sein, die zu dem ursprünglichen Produktionsvolumen beitragen, aus dem die Schattenkopie erstellt wurde, oder es kann sich um neue oder vorhandene LUNs handeln, die verwendet werden, um ein originales Volume zu ersetzen, das aus der Produktion entfernt wird.
Der Anbieter muss die Neusynchronisierung durchführen, indem Daten auf der LUN-Arrayebene kopiert werden, nicht auf Hostebene. Dies bedeutet, dass der Anbieter keine LUN-Neusynchronisierung implementieren kann, indem einfach der Inhalt der Quell-LUN in die Ziel-LUN kopiert wird. Die zum Ausführen der LUN-Neusynchronisierung erforderliche E/A muss in der Hardware, über die Datenträgergeräte der erneut synchronisierten LUNs und nicht über den Hostcomputer ausgeführt werden. Diese E/A sollte für den Hostcomputer vollständig transparent sein.
Nach Abschluss der Neusynchronisierung sind die LUNs voll funktionsfähig und für E/A-Vorgänge verfügbar.
Die zugrunde liegende Datenträgerhardware muss eindeutige Gerätebezeichner der Seite 83 unterstützen.
Wenn die Ziel-LUN größer als die Quell-LUN ist, muss der Anbieter die Größe der Ziel-LUN ändern, falls erforderlich, um sicherzustellen, dass sie nach der Erneutsynchronisierung mit der Quell-LUN übereinstimmt.
Diese Methode kann nicht in WinPE aufgerufen werden und kann nicht im abgesicherten Modus aufgerufen werden. Vor dem Aufrufen dieser Methode muss der Aufrufer die IVssBackupComponents::InitializeForRestore--Methode verwenden, um die Neusynchronisierung vorzubereiten.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Keine unterstützt |
mindestens unterstützte Server- | Windows Server 2008 R2 [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | vsprov.h |