次の方法で共有


Windows エクスプローラーにポータブル オーディオ プレーヤーを表示するための要件

ポータブル オーディオ プレーヤー シェル名前空間拡張機能を使用すると、Windows ユーザーは、Windows Media デバイス マネージャーによって管理されるオーディオ デバイスを一貫した方法で管理できます。 次のガイドラインに従ってサービス プロバイダーとドライバー コンポーネントを作成すると、デバイスがシェル名前空間に表示されます。 ユーザーは、Windows エクスプローラーで一貫した方法でデバイスのコンテンツを操作して、コピー、削除、名前変更などの基本的な操作を実行できます。

サービス プロバイダーとドライバー コンポーネントの次のシェル要件は、一般的な Windows Media デバイス マネージャーガイドラインを補完することを目的としています。

デバイスの機能

Windows Media デバイス マネージャー サービス プロバイダーは、サポートされている機能で明示的にする必要があります。 呼び出しがサポートされていない場合は、エラー コードを返す必要があります。 次の関数からの戻り値の機能の有無に対して、適切なフィールドを設定する必要があります。

サービス プロバイダーは、シェルと互換性を持つ次の機能をサポートする必要があります。

  • デバイスにコピーする (キャンセルコールバックと進行状況コールバックをサポート)
  • デバイスからファイルを削除する (キャンセルと進行状況のコールバックをサポート)
  • デバイス上のファイルの名前を変更する
  • 領域レポート (合計領域、空き領域、使用できない領域)
  • プラグ アンド プレイ (デバイスの PnP の有効化に関するページを参照)
  • 形式 (可能な場合はキャンセルコールバックと進行状況コールバックをサポート)

メタデータがサポートされている場合は、個々のファイルに対して次のフィールドをサポートする必要があります。 使用できるデータがない場合は、フィールドを空の文字列として初期化する必要があります。

フィールド 定数 (WMDM.idl で定義) メタデータ タグ
曲のタイトル g_wszWMDMTitle WMDM/Title
トラック番号 g_wszWMDMTrack WMDM/トラック
Artist g_wszWMDMAuthor WMDM/Author
アルバム g_wszWMDMAlbumTitle WMDM/AlbumTitle
Year g_wszWMDMYear WMDM/Year
Genre g_wszWMDMGenre WMDM/ジャンル

 

コンカレンシー

Windows Media デバイス マネージャーのカーネル モード ドライバーは、同時アクセスを処理する際に堅牢である必要があります。 たとえば、ユーザーは、シェルとメディア プレーヤーの両方を介して、または単にシェル内の複数のウィンドウを介してデバイスに同時にアクセスできます。 ドライバーは、コンカレンシーの処理の一環として、サービス プロバイダーが読み込まれているからといって、デバイスが使用中であると想定しないでください。 代わりに、個々の操作に必要に応じてデバイスへのアクセスをシリアル化するためのロック メカニズムを実装する必要があります。

UI

Windows Media デバイス マネージャーのサービス プロバイダーは、ユーザー インターフェイスを表示しないでください。 エラーは、可能な限り、特定の Windows Media デバイス マネージャーエラー コードとしてメソッド呼び出しから返す必要があります。

シェルでの有効化

パッケージがすべてのシェル要件を満たしている場合は、デバイス パラメーターの下で ShowInShell 値を 1 に設定することで、デバイスをシェルに表示できます。 詳細については、「 デバイス パラメーター」を参照してください。

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