アプリケーションのインターフェイス
このセクションでは、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" は IWMDMStorage、IWMDMStorage2、および IWMDMStorage3 を示します。
関連トピック