次の方法で共有


サービス プロバイダーの作成

サービス プロバイダーは、アプリケーションとデバイスの間の仲介者として機能するコンポーネントです。 Windows Media デバイス マネージャーは、アプリケーションからの要求をサービス プロバイダーにルーティングします。これにより、デバイスとの通信または要求されたアクションの実行が行われます。 通常、サービス プロバイダーはドライバーと通信して、デバイスとの通信を有効にします。 サービス プロバイダーは、Windows Media デバイス マネージャーによって呼び出されるインターフェイスを実装する COM コンポーネントです。 サービス プロバイダー オブジェクトのルート インターフェイスは IMDServiceProvider です。 このインターフェイスを取得した後、Windows Media デバイス マネージャーは、さまざまなメソッドのサービス プロバイダーの実装を通じて他のインターフェイスを取得できます。 サービス プロバイダーが実装する必要があるインターフェイスは、「 必須インターフェイスと省略可能なインターフェイス」に記載されています。 インターフェイスの階層については、「 サービス プロバイダーのインターフェイス」を参照してください。

注意

MTP サービス プロバイダーを作成しないでください。代わりに、Microsoft が提供する MTP サービス プロバイダーとドライバーを使用する必要があります。

 

サービス プロバイダーを作成する前に、アプリケーションがサービス プロバイダーで行う呼び出しを十分に理解しておく必要があります。 「Windows Media デバイス マネージャー アプリケーションの作成」を参照して、アプリケーションがデバイスと通信しようとしたときにサービス プロバイダーで行う基本的なタスクと呼び出しについて説明します。

次の一覧は、サービス プロバイダーを開発する際の主な手順を示しています。

  1. プロジェクトに必要なヘッダー ファイルとライブラリ ファイルをインクルード (および必要に応じてコンパイル) します。 必要なファイルの一覧については、「 サービス プロバイダーの必須ライブラリとヘッダー 」を参照してください。
  2. その他の必須またはオプションのサービス プロバイダー インターフェイスをすべて実装します ( 「必須インターフェイス」と「省略可能なインターフェイス」を参照)。 通常、インターフェイスは次の順序で呼び出されます。
  3. インストール時に、サービス プロバイダーまたはデバイスに適切なレジストリ キーがインストールされていることを確認します。 これらのキーは、デバイス パラメーターを指定し、サービス プロバイダーをプラグインとして登録し、デバイスの到着と削除のプラグ アンド プレイ通知を有効にします。 「デバイス パラメーター」、「サービス プロバイダーの登録」、および「デバイスの PnP の有効化」を参照してください。
  4. クラスのインスタンス化時に、コンストラクターでサービス プロバイダーを認証します。 これを行うには、 CSecureChannelServer クラスを作成し、証明書を設定します。 IComponentAuthenticate インターフェイスを実装し、前にインスタンス化した CSecureChannelServer クラスのメソッドを呼び出します。 CSecureChannelServer クラスをインスタンス化し、IComponentAuthenticate メソッドを実装する方法については、「 サービス プロバイダーの認証 」を参照してください。
  5. Windows Media デバイス マネージャー では、サービス プロバイダーがデバイスを処理するかどうかに応じて、IMDServiceProvider2::CreateDevice または IMDServiceProvider::EnumDevices を呼び出して、接続されているデバイスの一覧をサービス プロバイダーに照会プラグ アンド プレイ。 サービス プロバイダーは、接続されているデバイスを表す IMDSPDevice オブジェクトの一覧を返す必要があります。 詳細については、「 デバイスの列挙 」を参照してください。
  6. 呼び出しを処理する前に、セキュリティで保護されたチャネルが確立されていることを確認します。 アクションを実行する前に CSecureChannelServer::fIsAuthenticated を呼び出します。 この呼び出しが失敗した場合は、WMDM_E_NOTCERTIFIEDを返します。
  7. DRM で保護されたマテリアルを処理するには、Microsoft によって発行された証明書とキーのペアが必要です。 詳細については、「 サービス プロバイダーでの保護されたコンテンツの処理 」を参照してください。
  8. デバイスがWindows メディア プレーヤーと自動的に同期できるようにするには、「Windows メディア プレーヤーとの同期を有効にする」に記載されている要件を満たす必要があります。
  9. デバイスを Windows エクスプローラーに表示できるようにするには、「Windows エクスプローラーにポータブル オーディオ プレーヤーを表示するための要件」で詳しく説明されているいくつかの特別な手順を実行する必要があります。

プログラミング ガイド