次の方法で共有


IMFPluginControl インターフェイス (mfobjects.h)

Microsoft Media Foundation でメディア ソースと変換を列挙する方法を制御します。

このインターフェイスへのポインターを取得するには、 MFGetPluginControl を呼び出します。

継承

IMFPluginControl インターフェイスは、IUnknown インターフェイスから継承します。 IMFPluginControl には、次の種類のメンバーもあります。

メソッド

IMFPluginControl インターフェイスには、これらのメソッドがあります。

 
IMFPluginControl::GetDisabledByIndex

IMFPluginControl::GetDisabledByIndex (mfobjects.h) は、ブロックリストからクラス識別子 (CLSID) を取得します。
IMFPluginControl::GetPreferredClsid

指定したキー名と一致するクラス識別子 (CLSID) を優先リストで検索します。
IMFPluginControl::GetPreferredClsidByIndex

IMFPluginControl::GetPreferredClsidByIndex (mfobjects.h) メソッドは、インデックス値で指定された優先リストからクラス識別子 (CLSID) を取得します。
IMFPluginControl::IsDisabled

ブロックリストにクラス識別子 (CLSID) が表示されるかどうかを照会します。 (IMFPluginControl.IsDisabled)
IMFPluginControl::SetDisabled

ブロックリストにクラス識別子 (CLSID) を追加するか、リストから CLSID を削除します。 (IMFPluginControl.SetDisabled)
IMFPluginControl::SetPreferredClsid

優先リストにクラス識別子 (CLSID) を追加するか、リストから CLSID を削除します。 (IMFPluginControl.SetPreferredClsid)

解説

Media Foundation には、一連の組み込みのメディア ソースとデコーダーが用意されています。 アプリケーションでは、次のように列挙できます。

アプリケーションでは、これらのオブジェクトを間接的に列挙することもできます。 たとえば、アプリケーションがトポロジ ローダーを使用して部分的なトポロジを解決する場合、トポロジ ローダーは MFTEnumEx を呼び出して必要なデコーダーを検索します。

サード パーティは、独自のカスタム メディア ソースとデコーダーを実装し、他のアプリケーションで使用できるように列挙に登録できます。

列挙順序を制御するために、Media Foundation では、優先リストとブロック リストの 2 つのプロセス全体の CLSID リストが保持されます。 優先リストに CLSID が表示されるオブジェクトは、列挙順に最初に表示されます。 ブロックリストに CLSID が表示されるオブジェクトは列挙されません。

リストは、最初にレジストリから設定されます。 アプリケーションでは、 IMFPluginControl インターフェイスを使用して、現在のプロセスのリストを変更できます。

優先リストには、キーと値のペアのセットが含まれています。キーは文字列で、値は CLSID です。 これらのキーと値のペアは、次のように定義されます。

  • メディア ソースの場合、キー名はファイル名拡張子、プロトコル スキーム、または MIME の種類です。 値は、そのメディア ソースのスキーム ハンドラーまたはバイト ストリーム ハンドラーの CLSID です。
  • デコーダーの場合、キー名は正規文字列形式のメディア サブタイプ GUID です。 (メディア サブタイプの詳細については、「 メディアの種類」を参照してください)。値は、デコーダーを実装する Media Foundation 変換 (MFT) の CLSID です。
次の例は、さまざまな種類のキーを示しています。
  • ファイル拡張子: ".wmv"
  • スキーム: "http:"
  • MIME の種類: "video/mp4"
  • メディア サブタイプ: "{47504A4D-0000-0010-8000-00AA00389B71}"
キー名で優先リストを検索するには、 IMFPluginControl::GetPreferredClsid メソッドを 呼び出します。 リスト全体を列挙するには、ループ内で IMFPluginControl::GetPreferredClsidByIndex メソッドを呼び出します。

ブロックリストには、CLSID のリストが含まれています。 リスト全体を列挙するには、ループ内で IMFPluginControl::GetDisabledByIndex メソッドを呼び出します。 特定の CLSID がリストに表示されるかどうかをチェックするには、IMFPluginControl::IsDisabled メソッドを呼び出します。

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mfobjects.h (Mfidl.h を含む)

関連項目

MFGetPluginControl

メディア ファンデーション インターフェイス