IVdsVolume::BreakPlex-Methode (vds.h)
[Ab Windows 8 und Windows Server 2012 wird die COM-Schnittstelle des Virtuellen Datenträgerdiensts durch die Windows Storage Management-API abgelöst.]
Entfernt ein angegebenes Plex aus dem aktuellen Volume. Der Schnittstellenzeiger für das neue Volumeobjekt kann durch Aufrufen von IVdsAsync::Wait über den ppAsync-Parameter abgerufen werden. Die zurückgegebene VDS_ASYNC_OUTPUT-Struktur enthält den Volumeobjektschnittstellenzeiger im bvp.pVolumeUnk-Member .
Syntax
HRESULT BreakPlex(
[in] VDS_OBJECT_ID plexId,
[out] IVdsAsync **ppAsync
);
Parameter
[in] plexId
Die GUID des zu durchbrochenen Plexs.
[out] ppAsync
Die Adresse eines IVdsAsync-Schnittstellenzeigers , der von VDS bei der Rückgabe initialisiert wird. Aufrufer müssen die Schnittstelle freigeben. Verwenden Sie diesen Zeiger, um den status des Vorgangs abzubrechen, abzuwarten oder abzufragen.
Wenn Sie IVdsAsync::Wait für diese Methode aufrufen und ein erfolgreicher HRESULT-Wert zurückgegeben wird, müssen Sie die in der VDS_ASYNC_OUTPUT-Struktur zurückgegebenen Schnittstellen freigeben, indem Sie die IUnknown::Release-Methode für jeden Schnittstellenzeiger aufrufen. Wenn Wait jedoch einen HRESULT-Fehlerwert zurückgibt oder der pHrResult-Parameter von Wait einen HRESULT-Fehlerwert empfängt, sind die Schnittstellenzeiger in der VDS_ASYNC_OUTPUT-StrukturNULL und müssen nicht freigegeben werden. Sie können HRESULT-Werte für Erfolg oder Fehler testen, indem Sie die in Winerror.h definierten Makros SUCCEEDED und FAILED verwenden.
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 |
---|---|
|
Der Plex wurde erfolgreich gebrochen. |
|
Das Volume ist nicht verfügbar. |
|
Das Volume ist kein Spiegel. |
Hinweise
Dieser Vorgang gilt nicht für Basisvolumes, die genau ein Plex aufweisen.
Verwenden Sie diese Methode, um eine Spiegel zu unterbrechen. Das zerbrochene Plex wird zu einem neuen Volume. Wenn der verbleibende Plex veraltet ist oder fehlt, beendet VDS den Vorgang und gibt einen Fehler zurück. Beachten Sie, dass VDS die Bereitstellung des Volumes während des Vorgangs auf hebt.
Ein Start- oder Systemplex – im Wesentlichen der Plex, der zum Starten des Computers verwendet wird – ist für plexId ungültig. Wenn ein solcher Plex übergeben wird, beendet VDS den Vorgang und gibt einen Fehler zurück.
Implementierer müssen einen Zeiger auf die IVdsAsync-Schnittstelle für diese Methode zurückgeben, unabhängig davon, ob der Aufruf einen asynchronen Vorgang initiiert.
Anforderungen
Anforderung | Wert |
---|---|
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 |