Provider オブジェクト

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

プロバイダー オブジェクトは、ストレージ管理を担当するプログラムをモデル化します。 このオブジェクトは、ソフトウェア プロバイダーとハードウェア プロバイダーの両方の機能へのアクセスを提供します。 プロバイダー プログラムは、ソフトウェア デバイス (ボリュームとディスク) とハードウェア デバイス (RAID コントローラーの背後にある記憶域サブシステムとドライブの配列) に対して操作を実行します。

VDS は、プロバイダー オブジェクトを COM オブジェクトとして Windows レジストリに登録し、包含インターフェイス (集計ではなく) を使用して残りのオブジェクトを実装し、すべてのインターフェイスとメソッドをラップし、条件付きで機能を追加します。 プロバイダー オブジェクトによってラップされるオブジェクトとインターフェイスは、プロバイダーの種類によって異なります。

プロバイダー オブジェクトをアプリケーションから直接インスタンス化することはできません。 代わりに、VDS を起動し、サービス オブジェクトへのポインターを取得し、サービス オブジェクトを使用してホストに認識されているプロバイダーに対してクエリを実行する必要があります。 VDS の読み込み手順については、「 スタートアップ オブジェクトとサービス オブジェクト」を参照してください。

IVdsService::QueryProviders メソッドを使用して、ホスト上の登録済みプロバイダー プログラムを列挙します。 メソッドの最初のパラメーターを使用すると、ソフトウェア プロバイダーのみ、ハードウェア プロバイダーのみ、またはその両方を指定できます。 プロバイダー オブジェクトを使用すると、そのプロバイダーによって管理されるオブジェクトに対して操作を実行できます。 次の図に示すように、 IVdsSwProvider インターフェイスによって公開されるメソッドを使用して、ソフトウェア プロバイダーに関連付けられているパック オブジェクトを作成およびクエリできます。 同様に、 IVdsHwProvider インターフェイスの メソッドを使用して、ハードウェア プロバイダーに関連付けられているサブシステム オブジェクトと対話できます。

'Providers'、'Pack' または 'Subsystem'、および 'Spindles' に分岐する 'Application' を示す図。

オブジェクトのプロパティには、特定のプロバイダーを表す永続的な GUID オブジェクト識別子と、プロバイダーのバージョンを表す 2 番目の GUID が含まれます。 VDS オブジェクト モデルの他のオブジェクト識別子は非永続的であることに注意してください。 このオブジェクトの残りのプロパティには、プロバイダー名、追加のバージョン情報、プロバイダーの種類のソフトウェアまたはハードウェア)、さまざまなフラグ、およびソフトウェア プロバイダーにのみ適用される再構築優先設定が含まれます。

次の表に、関連するインターフェイス、列挙体、および構造体を示します。

要素
このオブジェクトによって常に公開されるインターフェイス IVdsProvider
ソフトウェア プロバイダーのみが常に公開するインターフェイス IVdsSwProvider
ハードウェア プロバイダーのみが常に公開するインターフェイス IVdsHwProvider
このオブジェクトによって公開される可能性があるインターフェイス IVdsProviderSupport
ハードウェア プロバイダーのみが公開できるインターフェイス IVdsHwProviderTypeIVdsHwProviderStoragePoolsWindows Server 2008、Windows Vista、および Windows Server 2003:IVdsHwProviderStoragePools インターフェイスはサポートされていません。
常に実装されているが、アプリケーションには公開されないインターフェイス IVdsProviderPrivate
ハードウェア プロバイダーによって常に実装されるが、アプリケーションには公開されないインターフェイス IVdsHwProviderPrivate
ハードウェア プロバイダーによって実装される可能性があるが、アプリケーションには公開されないインターフェイス IVdsHwProviderPrivateMpio
関連付けられた列挙体 VDS_PROVIDER_FLAGVDS_QUERY_PROVIDER_FLAGおよびVDS_PROVIDER_TYPE
関連する構造体 [なし] :

VDS オブジェクト モデル

スタートアップ オブジェクトとサービス オブジェクト

IVdsService::QueryProviders

IVdsSwProvider

IVdsHwProvider