サービス プロバイダーのインターフェイス

このセクションでは、Windows Media デバイス マネージャー サービス プロバイダーによって実装されるインターフェイスについて説明します。 サービス プロバイダーは、アプリケーションによって呼び出される Windows Media デバイス マネージャー SDK メソッドのほとんどが実装されているため、デバイスとの通信の実際の作業のほとんどを実行します。

サービス プロバイダーは、このセクションに記載されているすべてのインターフェイスを実装する必要はありません。 たとえば、オンボード ストレージがないメディア デバイスでは、コンテンツの制御や公開に使用されるインターフェイスは実装されません。 メソッドまたはインターフェイスが必要かどうかは、適切な参照ページに示されます。

インターフェイスまたはクラス 説明
CSecureChannelServer サービス プロバイダーまたはセキュリティで保護されたコンテンツ プロバイダーがアプリケーションを認証し、セキュリティで保護されたパラメーターの MAC 署名を作成できるようにするヘルパー クラス。
IMDServiceProvider クライアント (通常は Windows Media デバイス マネージャー) に、このサービス プロバイダーがサポートするデバイスのデバイス列挙子を提供します。
IMDServiceProvider2 デバイス パスを使用してデバイスを作成するためのメソッドを提供することで、 IMDServiceProvider を拡張します。
IMDServiceProvider3 デバイス列挙の基本設定を設定するためのメソッドを提供することで、 IMDServiceProvider2 を拡張します。
IMDSPDevice メディア デバイスとのインスタンスベースの関連付けを提供します。 このインターフェイスを使用して、クライアントはデバイスの記憶域メディア列挙子を列挙し、デバイスに関する情報を取得し、不透明 (パススルー) コマンドをデバイスに送信できます。
IMDSPDevice2 拡張ビデオ形式の取得、プラグ アンド プレイ (PnP) デバイス名の取得、プロパティ ページの使用の有効化、その名前からストレージ メディアへのポインターの取得を可能にするメソッドを提供することで、IMDSPDevice を拡張します。 このインターフェイスは、サービス プロバイダーでは省略可能ですが、推奨されます。
IMDSPDevice3 オブジェクト形式に関してデバイスのプロパティと機能を照会する機能を提供することで、 IMDSPDevice2 を拡張します。
IMDSPDeviceControl デバイスを制御するためのメソッドを提供します。
IMDSPDirectTransfer Windows Media デバイス マネージャーがコンテンツ転送をサービス プロバイダーに委任できるようにします。 この場合、Windows Media デバイス マネージャーは、サービス プロバイダーに送信する前にコンテンツの処理を行いません。 サービス プロバイダーは、ソースを完全に制御します。
IMDSPEnumDevice このサービス プロバイダーでサポートされているメディア デバイスを列挙します。
IMDSPEnumStorage デバイス上の記憶域メディアと記憶域メディアの内容を列挙します。
IMDSPObject ストレージ オブジェクトに対するデータ転送操作のメソッドが含まれています。
IMDSPObject2 DRM 対応データをより効率的に送信することで IMDSPObject を拡張します。
IMDSPObjectInfo 記憶域メディア上の再生可能オブジェクトの再生長、再生位置、再生オフセット、または合計長を設定または取得します。
IMDSPRevoked 更新されたコンポーネントをダウンロードできる URL を取得します。
IMDSPStorage デバイス上のストレージ メディアとのインスタンス化ベースの関連付けを提供します。 このインターフェイスは、ストレージ オブジェクトを作成し、それらに関する情報を取得し、現在のストレージ内に入れ子になったサブフォルダーを列挙するための IMDSPEnumStorage インターフェイスへのアクセスを提供します。
IMDSPStorage2 拡張属性を取得して設定し、その名前からストレージへのポインターを取得できるようにすることで、 IMDSPStorage を拡張します。
IMDSPStorage3 メタデータをサポートすることで IMDSPStorage2 を拡張します。
IMDSPStorage4 プレイリスト オブジェクトをサポートすることで IMDSPStorage3 を拡張します。
IMDSPStorageGlobals 空き領域の量やファイルの合計数など、記憶域メディアに関するグローバル情報を取得します。

 

次の図は、サービス プロバイダーによって実装されるさまざまなインターフェイスを取得する方法を示しています。 この図では、派生インターフェイスはコンパクト化のために同じタグに表示されるため、IMDServiceProvider/2/3 は IMDServiceProvider、IMDServiceProvider2IMDServiceProvider33 つのインターフェイスを表します。 示されているメソッドは、これらのインターフェイスのいずれかによってのみ拡張されます。 派生インターフェイスは、作成されたオブジェクトの基本インターフェイスで QueryInterface を呼び出すことによって取得されます。

Windows メディア デバイス マネージャーがサービス プロバイダーからインターフェイスを取得する方法を示す図。

プログラミング リファレンス

Windows Media DRM-Implemented インターフェイス