次の方法で共有


IVdsService::QueryUnallocatedDisks メソッド (vds.h)

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

VDS によって管理されている未割り当てディスクの一覧を含む列挙オブジェクトを返します。

構文

HRESULT QueryUnallocatedDisks(
  [out] IEnumVdsObject **ppEnum
);

パラメーター

[out] ppEnum

ディスクをディスク オブジェクトとして列挙するために使用できる IEnumVdsObject インターフェイス ポインターのアドレス。 詳細については、「 列挙オブジェクトの操作」を参照してください。 呼び出し元は、 IUnknown::Release メソッドを呼び出すことによって、インターフェイスと各ディスク オブジェクトが不要になったときに解放する必要があります。

戻り値

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

リターン コード/値 説明
S_OK
列挙が正常に返されました。
VDS_E_INITIALIZED_FAILED
0x80042401L
VDS の初期化に失敗しました。 サービスの初期化が完了する前にアプリケーションがこのメソッドを呼び出すと、初期化が完了するまでメソッドはブロックされます。 初期化に失敗した場合、このエラーが返されます。

注釈

割り当てられていないディスクは、どのプロバイダーによっても要求されません。 MBR または GPT パーティション形式の情報が含まれている場合と含まれていない場合があります。 多くの場合、初期化されていないディスクです。 ディスクの状態が VDS_DS_ONLINE または VDS_DS_OFFLINEの場合、ディスクは未割り当てで初期化されていません。 VDS_DS_UNKNOWNVDS_DS_NOT_READYVDS_DS_FAILED、またはVDS_DS_MISSINGの場合は割り当てられませんが、VDS サービスはディスクに問題がある可能性があるため、初期化されているかどうかを判断できません。

ディスクの状態を確認するには、ディスクのVDS_DISK_PROPまたはVDS_DISK_PROP2構造の状態メンバーを参照してください。

ディスクの状態が VDS_DS_ONLINE場合は、ディスクをパックに追加できます。

ディスクの状態が VDS_DS_OFFLINE場合は、 IVdsDiskOnline::Online を呼び出してディスクをオンラインにしてみてください。 Online メソッドの呼び出しが成功した場合は、ディスクをパックに追加できます。 Online の呼び出しが失敗した場合、ディスクを使用できません。

要件

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

こちらもご覧ください

IEnumVdsObject

IVdsService