IVdsPack::AddDisk メソッド (vds.h)

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

オンライン パックにディスクを追加します。

構文

HRESULT AddDisk(
  [in] VDS_OBJECT_ID       DiskId,
  [in] VDS_PARTITION_STYLE PartitionStyle,
  [in] BOOL                bAsHotSpare
);

パラメーター

[in] DiskId

ディスクの GUID。

[in] PartitionStyle

スタイルには MBR または GPT を指定できます。 VDS_PARTITION_STYLE列挙を参照してください。

[in] bAsHotSpare

true の場合、VDS はホット スペアとしてディスクを使用できます。それ以外の場合は、この操作にディスクを使用できません。 ホット スペーリングをサポートするのは、ハードウェア プロバイダーのみです。

戻り値

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

リターン コード/値 説明
S_OK
ディスクが正常に追加されました。
VDS_E_NOT_AN_UNALLOCATED_DISK
0x80042418L
ディスクが未加工です。
VDS_E_OPERATION_DENIED
0x8004240AL
追加するディスクがクリーンアップされています。
VDS_E_PROVIDER_FAILURE
0x80042442L
操作中にプロバイダーエラーが発生しました。
VDS_E_NOT_SUPPORTED
0x80042400L
基本パックへの 2 番目のディスクの追加はサポートされていません。
VDS_E_PACK_OFFLINE
0x80042444L
ターゲット パックにアクセスできません。
VDS_E_OBJECT_NOT_FOUND
0x80042405L
ディスクが見つかりません。
VDS_E_DMADMIN_METHOD_CALL_FAILED
0x80042420L
論理ディスク・マネージャー (LDM) サービスがメソッドを完了できませんでした。
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
動的プロバイダー キャッシュが破損しています。

注釈

VDS はこのメソッドを実装します。

このメソッドは、生ディスク (パーティション分割が定義されていないディスク) を初期化し、パックに追加します。 このメソッドが呼び出される前に、生ディスクは VDS サービスによって所有されます。 このメソッドが返された後、ディスクは基本プロバイダーによって所有されます。

このメソッドの効果を元に戻すには (つまり、パーティション分割形式を削除し、ディスクを VDS サービスが所有する未加工のディスクにする) には、 IVdsAdvancedDisk::Clean メソッドを使用します。

AddDisk を使用して、既存のディスク上のパーティション分割を再定義することはできません。

GPT ディスクを基本パックに追加すると、操作によってディスク上に MSR パーティションが自動的に作成されます。 管理者がディスク上に ESP パーティションを作成する場合があるため、WinPE オペレーティング システムを実行しているデバイスは例外です。 ESP パーティションが存在する場合は、ディスク上の最初のパーティションである必要があります。

ディスクを動的パックに追加した場合、操作では MSR パーティションは作成されません。

要件

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

こちらもご覧ください

IVdsPack

VDS_PACK_PROP

VDS_PARTITION_STYLE