アプリケーションのインターフェイス

このセクションでは、Windows Media デバイス マネージャー SDK を使用してデバイスと通信するためにアプリケーションによって使用または実装されるインターフェイスについて説明します。 ここで使用する "アプリケーション" という用語は、デスクトップ コンピューター上に存在し、接続されているポータブル デバイスとの高度な通信を必要とする実行可能ファイル、プラグイン、または COM オブジェクトを意味します。 これには、メディア プレーヤー アプリケーション、Windows メディア プレーヤー プラグイン (ポータブル デバイスへの直接アクセスが必要な場合)、または再生カウント測定 COM オブジェクトが含まれます。

これらのインターフェイスの一部はアプリケーションによって実装され、他のインターフェイスはアプリケーションによって呼び出されます。 各インターフェイスのドキュメントは、それが実装されているか呼び出されているか (実装されている場合はオプションか必須かを示します) を示します。

アプリケーションでは、次のインターフェイスまたはクラスが使用されます。

インターフェイスまたはクラス 説明
CSecureChannelClient クラス アプリケーションが自身の認証、データの暗号化と暗号化解除、MAC の作成を可能にするヘルパー クラス。
IWMDeviceManager アプリケーションの最上位レベルの Windows Media デバイス マネージャー インターフェイス。
IWMDeviceManager2 高度な列挙メソッドやその他のメソッドを提供することで 、IWMDeviceManager を拡張します。
IWMDeviceManager3 デバイス列挙設定を設定するメソッドを提供することで、 IWMDeviceManager2 インターフェイスを拡張します。
IWMDMDevice 1 つのポータブル デバイスを調べて探索するメソッドを提供します。
IWMDMDevice2 デバイスでサポートされているビデオ形式を取得し、名前でストレージを検索し、プロパティ ページを使用できるようにすることで、 IWMDMDevice を拡張します。
IWMDMDevice3 IWMDMDevice2 を拡張するには、デバイスにプロパティのクエリを実行するメソッド、デバイス I/O コントロール コードを送信するメソッド、およびストレージを検索してデバイス形式の機能を取得するためのアップグレードされたメソッドを提供します。
IWMDMDeviceControl デバイスを制御するためのメソッドを提供します。
IWMDMDeviceSession 複数の操作を 1 つのセッションにバンドルすることで、デバイス操作の効率を向上させます
IWMDMEnumDevice コンピューターに接続されているポータブル デバイスを列挙します。
IWMDMEnumStorage デバイス上の記憶域を列挙します。
IWMDMMetaData ストレージのメタデータ プロパティ (アーティスト、アルバム、ジャンルなど) を設定および取得します。
IWMDMObjectInfo デバイス上の再生可能なファイルが IWMDMDeviceControl インターフェイスによって処理される方法を制御する情報を取得および設定します
IWMDMRevoked 失効エラーで転送が失敗した場合に、更新されたコンポーネントをダウンロードできる URL を取得します。
IWMDMStorage デバイス上のストレージ (ファイル、フォルダー、プレイリスト) を調べて探索するメソッドを提供します。
IWMDMStorage2 名前で子ストレージを取得し、拡張属性を取得および設定できるようにすることで、 IWMDMStorage を拡張します。
IWMDMStorage3 メタデータを公開することによって IWMDMStorage2 を拡張します。
IWMDMStorage4 ストレージで使用可能なメタデータのサブセットを取得したり、他のストレージへの参照のリストを設定および取得したりするためのメソッドを提供することで、 IWMDMStorage3 を拡張します。
IWMDMStorageControl デバイス内、またはデバイスとコンピューターの間でファイルを挿入、削除、または移動するために使用します。
IWMDMStorageControl2 IWMDMStorageControl を拡張し、ストレージにコンテンツを挿入するときに宛先ファイルの名前を設定できるようにします。
IWMDMStorageControl3 IWMDMStorageControl2 を拡張し、IWMDMMetaData インターフェイス ポインターを渡すことができます。
IWMDMStorageGlobals デバイス上の記憶域メディア (フラッシュ ROM カードなど) に関するグローバル情報を取得するためのメソッドを提供します。
IWMDRMDeviceApp アプリケーションがデバイスの DRM コンポーネントの使用状況測定、ライセンス同期、および更新を実行できるようにします。
IWMDRMDeviceApp2 QueryDeviceStatus メソッドの新しいバージョンを指定して、IWMDRMDeviceApp を拡張します。

 

コールバック インターフェイス

次の省略可能なインターフェイスは、読み取り要求や書き込み要求などの非同期要求の進行状況を追跡するために、アプリケーションによって実装されます。

インターフェイス 説明
IWMDMNotification デバイスまたはメモリ ストレージ (RAM カードなど) がコンピューターに接続または切断されたときに、アプリケーションとサービス プロバイダーが通知を受信できるようにします。
IWMDMOperation2 拡張属性を取得および設定するメソッドを提供することで、 IWMDMOperation を拡張します。
IWMDMOperation3 暗号化されていないデータを転送する新しい方法を提供して IWMDMOperation を拡張し、効率を高める。
IWMDMOperation ファイル転送中のデータの読み取りまたはコンピューターへの書き込み方法をアプリケーションが制御できるようにします。
IWMDMProgress2 状態インジケーターを指定して IWMDMProgress::End メソッドを拡張します。
IWMDMProgress3 イベント ID とコンテキスト固有の情報を指定する追加の入力パラメーターを指定して 、IWMDMProgress2 を拡張します。
IWMDMProgress メディアやファイル転送の書式設定などの操作の進行状況をアプリケーションが追跡できるようにします。

 

次の図は、重要なアプリケーション インターフェイスの大部分がルート IWMDeviceManager インターフェイスから取得される方法を示しています。 アプリケーションは、MediaDevMgr オブジェクトを作成し、 IComponentAuthenticate インターフェイスを要求し、コンポーネントを認証し、 IWMDeviceManager を要求することで、このルート インターフェイスを取得します (これらの手順については、「 アプリケーションの認証」を参照してください)。 このルート インターフェイスが取得されると、 IWMDeviceManager::EnumDevices が呼び出され、 IWMDMEnumDevice を実装するオブジェクトが作成されます。 他のインターフェイスは、インターフェイスのメソッドを次の順序で呼び出すことによって取得されます。 IWMDMDevice2 などの派生インターフェイスは、ベース インターフェイスで QueryInterface を呼び出すことによって取得されます。

次の図では、派生インターフェイスにスラッシュマークが付いているため、"IWMDMStorage/2/3" は IWMDMStorageIWMDMStorage2、および IWMDMStorage3 を示します。

Windows メディア デバイス マネージャーで主要なアプリケーション インターフェイスを取得する方法を示す図。

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