次の方法で共有


IVdsLun::RemovePlex メソッド (vds.h)

[Windows 8とWindows Server 2012以降、仮想ディスク サービス COM インターフェイスは Windows Storage Management API に置き換えられます。

LUN からプレックスを削除します。

構文

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

パラメーター

[in] plexId

削除する LUN プレックスの GUID。

[out] ppAsync

戻り時に VDS が初期化する IVdsAsync インターフェイス ポインターのアドレス。 呼び出し元はインターフェイスを解放する必要があります。 このインターフェイスを使用して、操作の状態を取り消す、待機する、またはクエリを実行します。

このメソッドで IVdsAsync::Wait を呼び出し、成功した HRESULT 値が返された場合は、各インターフェイス ポインターで IUnknown::Release メソッドを呼び出して、VDS_ASYNC_OUTPUT構造体で返されるインターフェイスを解放する必要があります。 ただし、Wait がエラー HRESULT 値を返す場合、または WaitpHrResult パラメーターがエラー HRESULT 値を受け取った場合、VDS_ASYNC_OUTPUT構造体のインターフェイス ポインターは NULL であり、解放する必要はありません。 成功または失敗の HRESULT 値をテストするには、Winerror.h で定義 されている SUCCEEDED マクロと FAILED マクロを 使用します。

戻り値

このメソッドは、E_INVALIDARGやE_OUTOFMEMORYなどの標準の HRESULT 値と、 VDS 固有の戻り値を返すことができます。 また、HRESULT_FROM_WIN32 マクロを使用して、変換されたシステム エラー コードを返すこともできます。 エラーは、VDS 自体または使用されている基になる VDS プロバイダー から発生する可能性があります。 可能な戻り値は次のとおりです。

リターン コード/値 説明
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
この戻り値は、配列に関する情報をキャッシュするプロバイダー内のソフトウェアまたは通信の問題を示します。 キャッシュを復元するには、 IVdsHwProvider::Reenumerate メソッドの後に IVdsHwProvider::Refresh メソッドを使用します。
VDS_E_OBJECT_DELETED
0x8004240BL
LUN オブジェクトが存在しなくなりました。
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
LUN は失敗状態であり、要求された操作を実行できません。
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
別の操作が進行中です。この操作は、前の操作または操作が完了するまで続行できません。
VDS_E_OBJECT_NOT_FOUND
0x80042405L
VDS_OBJECT_ID定数を受け取る任意のメソッドから返すことができます。 この戻り値は、識別子が既存のオブジェクトを参照していないことを示します。

解説

削除されたプレックスは存在しなくなり、VDS はエクステントを解放します。 呼び出し元は、スタンドアロン LUN プレックスを削除できません。 LUN は、この操作のためにフォールト トレランスを失う可能性があることに注意してください。 たとえば、操作によって LUN がミラーリングから単純に変換された場合、LUN はフォールト トレラントではなくなります。

実装者は、呼び出しが非同期操作を開始するかどうかに関係なく、このメソッドの IVdsAsync インターフェイスへのポインターを返す必要があります。

呼び出し元が plexId パラメーターを無効な値に設定して RemovePlex メソッドを呼び出す場合は、VDS_E_OBJECT_NOT_FOUNDを返す必要があります。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー vds.h
Library Uuid.lib

関連項目

IVdsAsync

IVdsAsync::Wait

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsLun

VDS_ASYNC_OUTPUT