Share via


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
S_OK
Der Plex wurde erfolgreich gebrochen.
VDS_E_VOLUME_NOT_ONLINE
0x8004243DL
Das Volume ist nicht verfügbar.
VDS_E_VOLUME_NOT_A_MIRROR
0x80042445L
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

Weitere Informationen

IVdsAsync

IVdsAsync::Wait

IVdsVolume

VDS_ASYNC_OUTPUT