次の方法で共有


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

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

ボリュームを、現在のボリュームにプレックスとして追加します。

構文

HRESULT AddPlex(
  [in]  VDS_OBJECT_ID VolumeId,
  [out] IVdsAsync     **ppAsync
);

パラメーター

[in] VolumeId

プレックスとして追加するボリュームの GUID。

[out] ppAsync

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

戻り値

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

リターン コード/値 説明
S_OK
プレックスが正常に追加されました。
VDS_S_GPT_BOOT_MIRRORED_TO_MBR
0x80042469L
GPT ディスク上のブート ボリュームが MBR ディスクにミラー化されています。 新しいプレックスを使用してコンピューターを起動することはできません。
VDS_E_VOLUME_NOT_ONLINE
0x8004243DL
ボリュームにアクセスできません。
VDS_E_VOLUME_NOT_HEALTHY
0x8004243EL
ボリュームが失敗しているか、失敗しています。
VDS_E_VOLUME_SPANS_DISKS
0x8004243FL
ボリュームは複数のディスクにまたがる。
VDS_E_REQUIRES_CONTIGUOUS_DISK_SPACE
0x80042440L
ボリュームは複数のエクステントで構成されます。
VDS_E_INVALID_OPERATION
0x80042415L
ソース ボリュームがターゲット ボリュームよりも小さい。 ソース ボリュームがターゲット ボリュームより大きい場合、ターゲット ボリュームは同じサイズのままであり、操作は成功します。

注釈

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

別のボリュームにボリュームをプレックスとして追加するには、このメソッドを使用します。 たとえば、呼び出し元はボリューム (ボリューム B) を作成し、ボリューム B を既存のボリューム (ボリューム A) の新しいプレックスとして指定してから、ボリューム B を削除できます。ボリューム A の新しいプレックスは、ボリューム B と同じディスク・エクステントを占有します。

メモ VDS は同じエクステントを使用しようとしますが、この動作を保証することはできません。
 
呼び出し元は、ミラー化されたボリュームを新しいプレックスとして別のボリュームに追加できます。 結果のボリュームには、元のボリュームの合計と等しい数のプレックスが含まれます。

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

要件

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

こちらもご覧ください

IVdsAsync

IVdsVolume

Volume Plex オブジェクト