次の方法で共有


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

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

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

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

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

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

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