IVdsPack::MigrateDisks-Methode (vds.h)
[Ab Windows 8 und Windows Server 2012 wird die COM-Schnittstelle des Virtuellen Datenträgerdiensts von der Windows Storage Management-API abgelöst.]
Migriert eine Gruppe von Datenträgern von einem Paket zu einem anderen.
Syntax
HRESULT MigrateDisks(
[in] VDS_OBJECT_ID *pDiskArray,
[in] LONG lNumberOfDisks,
[in] VDS_OBJECT_ID TargetPack,
[in] BOOL bForce,
[in] BOOL bQueryOnly,
[out] HRESULT *pResults,
[out] BOOL *pbRebootNeeded
);
Parameter
[in] pDiskArray
Ein Zeiger auf ein Array von GUIDs; eins für jeden Datenträger.
[in] lNumberOfDisks
Die Anzahl der zu migrierenden Datenträger.
[in] TargetPack
Die GUID des Paketobjekts.
[in] bForce
Wenn dieser Parameter auf TRUE festgelegt ist, ignoriert VDS alle Fehler dieser Methode und versucht, die Datenträger bedingungslos zu migrieren. Wenn er auf FALSE festgelegt ist, wird der Vorgang nicht fortgesetzt. In einigen Fällen kann eine erzwungene Migration zu Datenverlust führen.
[in] bQueryOnly
Wenn dieser Parameter auf TRUE festgelegt ist, erfolgt die Migration nicht. Wenn er auf FALSE festgelegt ist, wird der Vorgang fortgesetzt.
[out] pResults
Die Adresse eines vom Aufrufer zugeordneten Arrays von HRESULT-Werten . Die Anzahl der Elemente im Array ist lNumberOfDisks.
Wenn ein Datenträger migriert werden kann oder erfolgreich migriert wurde, empfängt das entsprechende Arrayelement S_OK. Andernfalls empfängt er den Vom Anbieter zurückgegebenen Warnungs- oder Fehlercode. Eine Liste der zusätzlichen Ergebniscodes finden Sie unter Rückgabewerte.
[out] pbRebootNeeded
Wenn dieser Parameter auf TRUE festgelegt ist, müssen Sie den Computer neu starten, um den Vorgang abzuschließen. Wenn er auf FALSE festgelegt ist, wird der Vorgang ohne Neustart abgeschlossen.
Rückgabewert
Diese Methode kann HRESULT-Standardwerte wie E_INVALIDARG oder E_OUTOFMEMORY und VDS-spezifische Rückgabewerte zurückgeben. Es kann auch konvertierte Systemfehlercodes mithilfe des makros HRESULT_FROM_WIN32 zurückgeben. Fehler können vom VDS selbst oder vom zugrunde liegenden VDS-Anbieter stammen, der verwendet wird. Folgende Rückgabewerte sind möglich.
Rückgabecode/-wert | BESCHREIBUNG |
---|---|
|
Die Migration wurde erfolgreich abgeschlossen. |
|
Mindestens einer der Datenträger kann nicht konvertiert oder mit Warnung konvertiert werden. |
|
Einer der Datenträger ist nicht verfügbar. |
|
Es wurde versucht, eine Teilmenge der Datenträger im fremden Paket zu importieren. |
Die folgenden Warnungen und Fehler können über pResults zurückgegeben werden:
Rückgabecode/-wert | BESCHREIBUNG |
---|---|
|
Die Partitionsnummer der Startpartition wurde als Ergebnis des Migrationsvorgangs geändert. |
|
Der ausgewählte Datenträger verfügt nicht über genügend freien Speicherplatz, um den Vorgang abzuschließen. |
|
Auf dem ausgewählten Datenträger wurde eine aktive Partition erkannt, und es handelt sich nicht um die aktive Partition, die zum Starten des aktiven Betriebssystems verwendet wird. |
|
Die Partitionsinformationen können nicht gelesen werden. |
|
Auf dem ausgewählten Datenträger wurde eine Partition mit einem unbekannten Typ erkannt. |
|
Der ausgewählte GPT-Datenträger enthält eine nicht einfache Datenpartition, der sowohl eine als auch eine oder mehrere grundlegende Datenpartitionen vorangestellt sind. |
|
Ein Volume auf dem ausgewählten Datenträger kann nicht geöffnet werden. |
Bemerkungen
VDS implementiert diese Methode.
Ein einzelnes Paket kann nur über einen Basisdatenträger verfügen. Daher können Sie jeweils nur einen Datenträger zwischen einem Basis- und einem dynamischen Paket migrieren.
Sie sollten diesen Vorgang erzwingen, wenn Sie einen Basisdatenträger in ein dynamisches Datenträgerformat konvertieren, und am Ende des Datenträgers fehlt genügend Speicherplatz für die LDM-Datenbank. Legen Sie den bForce-Parameter auf true fest, und erzwingen Sie den Vorgang trotz der Speicherplatzbeschränkung. Ebenso, wenn sich eine OEM-Partition in der Mitte eines MBR-Datenträgers mit freiem Speicherplatz oder Datenvolumes auf beiden Seiten befindet.
Nach der Migration dynamischer Datenträger zu einem dynamischen Paket sollten Sie die IVdsPack::GetProperties-Methode verwenden, um zu bestimmen, ob das Quell- oder Zielpaket jetzt das Onlinepaket ist.
Informationen zur Verwendung der MigrateDisks-Methode zum Hinzufügen fremder Datenträger zu einem Paket finden Sie unter Hinzufügen fremder Datenträger zu einem Pack.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | vds.h |
Bibliothek | Uuid.lib |