IVdsVolume::BreakPlex メソッド (vds.h)

[Windows 8とWindows Server 2012以降、Virtual Disk Service COM インターフェイスは Windows Storage Management API に置き換えられます。

指定したプレックスを現在のボリュームから削除します。 新しいボリューム オブジェクトのインターフェイス ポインターは、ppAsync パラメーターを使用して IVdsAsync::Wait を呼び出すことで取得できます。 返される VDS_ASYNC_OUTPUT 構造体には、 bvp.pVolumeUnk メンバー内のボリューム オブジェクト インターフェイス ポインターが含まれています。

構文

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

パラメーター

[in] plexId

壊れるプレックスの 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 プロバイダー から発生する可能性があります。 可能な戻り値は次のとおりです。

リターン コード/値 説明
S_OK
このプレックスは正常に切断されました。
VDS_E_VOLUME_NOT_ONLINE
0x8004243DL
ボリュームは使用できません。
VDS_E_VOLUME_NOT_A_MIRROR
0x80042445L
ボリュームはミラーではありません。

注釈

この操作は、1 つのプレックスを持つ基本ボリュームでは無効です。

ミラーを中断するには、このメソッドを使用します。 壊れたプレックスが新しいボリュームになります。 残りのプレックスが古いか欠落している場合、VDS は操作を停止し、エラーを返します。 VDS は操作中にボリュームのマウントを解除します。

ブートまたはシステム プレックス (基本的には、コンピューターの起動に使用されるプレックス) は 、plexId には無効です。 このようなプレックスが渡されると、VDS は操作を停止し、エラーを返します。

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

要件

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

こちらもご覧ください

IVdsAsync

IVdsAsync::Wait

IVdsVolume

VDS_ASYNC_OUTPUT