Provider オブジェクト
[Windows 8 および Windows Server 2012 以降、Virtual Disk Service COM インターフェイスは、Windows Storage Management APIに置き換えられます。
プロバイダー オブジェクトは、ストレージ管理を担当するプログラムをモデル化します。 このオブジェクトは、ソフトウェア プロバイダーとハードウェア プロバイダーの両方の機能へのアクセスを提供します。 プロバイダー プログラムは、ソフトウェア デバイス (ボリュームとディスク) とハードウェア デバイス (RAID コントローラーの背後にある記憶域サブシステムとドライブの配列) に対して操作を実行します。
VDS は、プロバイダー オブジェクトを Windows レジストリの COM オブジェクトとして登録し、包含インターフェイス (集計ではなく) を使用して残りのオブジェクトを実装し、すべてのインターフェイスとメソッドをラップし、条件付きで機能を追加します。 プロバイダー オブジェクトによってラップされるオブジェクトとインターフェイスは、プロバイダーの種類によって異なります。
プロバイダー オブジェクトをアプリケーションから直接インスタンス化することはできません。 代わりに、VDS を起動し、サービス オブジェクトへのポインターを取得し、サービス オブジェクトを使用して、ホストに認識されているプロバイダーを照会する必要があります。 VDS の読み込み手順については、「スタートアップ オブジェクトとサービス オブジェクト を参照してください。
IVdsService::QueryProviders メソッドを使用して、ホスト上の登録済みプロバイダー プログラムを列挙します。 メソッドの最初のパラメーターを使用すると、ソフトウェア プロバイダーのみ、ハードウェア プロバイダーのみ、またはその両方を指定できます。 プロバイダー オブジェクトを使用すると、そのプロバイダーによって管理されるオブジェクトに対して操作を実行できます。 次の図に示すように、IVdsSwProvider インターフェイスによって公開されるメソッドを使用して、ソフトウェア プロバイダーに関連付けられているパック オブジェクトを作成およびクエリできます。 同様に、IVdsHwProvider インターフェイスのメソッドを使用して、ハードウェア プロバイダーに関連付けられているサブシステム オブジェクトと対話できます。
オブジェクトのプロパティには、特定のプロバイダーを表す永続的な GUID オブジェクト識別子と、プロバイダーのバージョンを表す 2 番目の GUID が含まれます。 VDS オブジェクト モデル内の他のオブジェクト識別子は非永続的であることに注意してください。 このオブジェクトの残りのプロパティには、プロバイダー名、追加のバージョン情報、プロバイダーの種類のソフトウェアまたはハードウェア)、さまざまなフラグ、およびソフトウェア プロバイダーにのみ適用される再構築優先度の設定が含まれます。
次の表に、関連するインターフェイス、列挙型、および構造体を示します。
種類 | 要素 |
---|---|
このオブジェクトによって常に公開されるインターフェイス | IVdsProviderの |
ソフトウェア プロバイダーのみが常に公開するインターフェイス | IVdsSwProviderの |
常にハードウェア プロバイダーによってのみ公開されるインターフェイス | IVdsHwProviderの |
このオブジェクトによって公開される可能性があるインターフェイス | IVdsProviderSupportをする |
ハードウェア プロバイダーのみが公開できるインターフェイス |
IVdsHwProviderType、IVdsHwProviderStoragePoolsWindows Server 2008、Windows Vista、および Windows Server 2003:IVdsHwProviderStoragePools インターフェイスはサポートされていません。 |
常に実装されているが、アプリケーションに公開されないインターフェイス | IVdsProviderPrivateの |
ハードウェア プロバイダーによって常に実装されるが、アプリケーションには公開されないインターフェイス | IVdsHwProviderPrivateの |
ハードウェア プロバイダーによって実装される可能性があるが、アプリケーションには公開されないインターフェイス | IVdsHwProviderPrivateMpio |
関連付けられた列挙型 | VDS_PROVIDER_FLAG、VDS_QUERY_PROVIDER_FLAG、および VDS_PROVIDER_TYPE。 |
関連付けられた構造体 | 何一つ。 |