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 には、一連の組み込みのメディア ソースとデコーダーが用意されています。 アプリケーションでは、次のように列挙できます。
- メディア ソースは、 ソース リゾルバーを介して列挙されます。
- デコーダーなどの変換は、MFTEnum 関数と 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}"
ブロックリストには、CLSID のリストが含まれています。 リスト全体を列挙するには、ループ内で IMFPluginControl::GetDisabledByIndex メソッドを呼び出します。 特定の CLSID がリストに表示されるかどうかをチェックするには、IMFPluginControl::IsDisabled メソッドを呼び出します。
要件
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mfobjects.h (Mfidl.h を含む) |