IVdsOpenVDisk::Merge メソッド (vds.h)
[Windows 8とWindows Server 2012以降、仮想ディスク サービス COM インターフェイスは Windows Storage Management API に置き換えられます。
子仮想ディスクを差分チェーン内の親とマージします。
構文
HRESULT Merge(
[in] MERGE_VIRTUAL_DISK_FLAG Flags,
[in] ULONG MergeDepth,
[out] IVdsAsync **ppAsync
);
パラメーター
[in] Flags
仮想ディスクのマージ方法を指定する MERGE_VIRTUAL_DISK_FLAG 列挙値。 MERGE_VIRTUAL_DISK_FLAG_NONEに設定する必要があります。
[in] MergeDepth
マージする差分チェーン内の親ディスクの数。 ディスクは、少なくともこの値と等しい ReadWriteDepth で開かれている必要があります。
[out] ppAsync
正常に完了すると、この操作を監視および制御するための IVdsAsync インターフェイスを受け取る IVdsAsync インターフェイスへのポインター。 呼び出し元は、受信したインターフェイスが終了したら、それを解放する必要があります。 インターフェイスで IVdsAsync::Wait メソッドが呼び出され、成功した HRESULT 値が返された場合、 VDS_ASYNC_OUTPUT 構造体で返されるインターフェイスは、各インターフェイス ポインターで IUnknown::Release メソッドを呼び出して解放する必要があります。 ただし、Wait がエラー HRESULT 値を返す場合、または Wait の pHrResult パラメーターがエラー HRESULT 値を受け取る場合、VDS_ASYNC_OUTPUT構造体のインターフェイス ポインターは NULL であり、解放する必要はありません。 成功または失敗の HRESULT 値をテストするには、Winerror.h で定義 されている SUCCEEDED マクロと FAILED マクロを使用します。
戻り値
このメソッドは、E_INVALIDARGやE_OUTOFMEMORYなどの標準の HRESULT 値と、 VDS 固有の戻り値を返すことができます。 また、HRESULT_FROM_WIN32 マクロを使用して、変換されたシステム エラー コードを返すこともできます。 エラーは、VDS 自体または使用されている基になる VDS プロバイダー から発生する可能性があります。 可能な戻り値は次のとおりです。
リターン コード | 説明 |
---|---|
|
メソッドは正常に完了しました。 |
解説
仮想ディスクは、デタッチされている場合にのみマージできます。
このメソッドは、すべてのデータ ブロックを子ディスクから親に移動します。 ただし、操作の最後に無効化された子ディスクは削除されません。
仮想ディスクは、読み取り/書き込みアクセス権で開かれている必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | vds.h |
Library | Uuid.lib |