IVdsLun::RemovePlex-Methode (vdshwprv.h)

[Ab Windows 8 und Windows Server 2012 wird die COM-Schnittstelle des Virtuellen Datenträgerdiensts durch die Windows Storage Management-API ersetzt.]

Entfernt einen Plex aus einer LUN.

Syntax

HRESULT RemovePlex(
  [in]  VDS_OBJECT_ID plexId,
  [out] IVdsAsync     **ppAsync
);

Parameter

[in] plexId

Die GUID des zu entfernenden LUN-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 diese Schnittstelle, um den status des Vorgangs abzubrechen, abzuwarten oder abzufragen.

Wenn Sie IVdsAsync::Wait für diese Methode aufrufen und ein success 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 Fehler-HRESULT-Wert zurückgibt oder wenn der pHrResult-Parameter von Wait einen Fehler-HRESULT-Wert empfängt, sind die Schnittstellenzeiger in der VDS_ASYNC_OUTPUT Struktur NULL und müssen nicht freigegeben werden. Sie können mit den in Winerror.h definierten Makros SUCCEEDED und FAILED auf Erfolg oder Fehler HRESULT-Werte testen.

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 HRESULT_FROM_WIN32-Makros 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
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
Dieser Rückgabewert signalisiert ein Software- oder Kommunikationsproblem innerhalb eines Anbieters, der Informationen zum Array zwischenspeichert. Verwenden Sie die IVdsHwProvider::Reenumerate-Methode gefolgt von der IVdsHwProvider::Refresh-Methode , um den Cache wiederherzustellen.
VDS_E_OBJECT_DELETED
0x8004240BL
Das LUN-Objekt ist nicht mehr vorhanden.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
Die LUN ist fehlerhaft und kann den angeforderten Vorgang nicht ausführen.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
Ein weiterer Vorgang wird ausgeführt. Dieser Vorgang kann erst fortgesetzt werden, wenn der vorherige Vorgang oder die vorherigen Vorgänge abgeschlossen sind.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Kann von jeder Methode zurückgegeben werden, die eine VDS_OBJECT_ID Konstante akzeptiert. Dieser Rückgabewert gibt an, dass der Bezeichner nicht auf ein vorhandenes Objekt verweist.

Hinweise

Der entfernte Plex ist nicht mehr vorhanden, und VDS gibt die Erweiterungen frei. Ein Aufrufer kann keinen eigenständigen LUN-Plex entfernen. Beachten Sie, dass eine LUN aufgrund dieses Vorgangs ihre Fehlertoleranz verlieren kann. Wenn der Vorgang beispielsweise die LUN von gespiegelt in einfach transformiert, ist die LUN nicht mehr fehlertolerant.

Implementer müssen einen Zeiger auf die IVdsAsync-Schnittstelle für diese Methode zurückgeben, unabhängig davon, ob der Aufruf einen asynchronen Vorgang initiiert.

Wenn ein Aufrufer die RemovePlex-Methode aufruft, wobei der plexId-Parameter auf einen ungültigen Wert festgelegt ist, sollten Sie VDS_E_OBJECT_NOT_FOUND zurückgeben.

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 vdshwprv.h
Bibliothek Uuid.lib

Weitere Informationen

IVdsAsync

IVdsAsync::Wait

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsLun

VDS_ASYNC_OUTPUT