次の方法で共有


レジストリ キーのレイアウト

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

DirectShow フィルターは、次の 2 つの場所に登録されます。

  • フィルターを含む DLL は、フィルターの COM サーバーとして登録されます。 アプリケーションが CoCreateInstance を呼び出してフィルターを作成すると、Microsoft Windows COM ライブラリはこのレジストリ エントリを使用して DLL を検索します。
  • フィルターに関する追加情報は、フィルター カテゴリ内に登録できます。 この情報により、 システム デバイス列挙子フィルター マッパー がフィルターを見つけることができます。

フィルターは、追加のフィルター情報を登録するために必要ありません。 DLL が COM サーバーとして登録されている限り、アプリケーションはフィルターを作成してフィルター グラフに追加できます。 ただし、システム デバイス列挙子またはフィルター マッパーによってフィルターを検出できるようにする場合は、追加情報を登録する必要があります。

DLL のレジストリ エントリには、次のキーがあります。

HKEY_CLASSES_ROOT
    CLSID
        Filter CLSID 
            REG_SZ: (Default) = Friendly name

            InprocServer32
                REG_SZ: (Default) = File name of the DLL
                REG_SZ: ThreadingModel = Both

フィルター情報のレジストリ エントリには、次のキーがあります。

HKEY_CLASSES_ROOT
    CLSID
        Category
            Instance
                Filter CLSID
                    REG_SZ: CLSID = Filter CLSID
                    REG_BINARY: FilterData = Filter information
                    REG_SZ: FriendlyName = Friendly name
Category

はフィルター カテゴリの GUID です。 ( 「フィルター カテゴリ」を参照してください)。フィルター情報はバイナリ形式でパックされます。 IFilterMapper2 インターフェイスは、レジストリでフィルターを検索するときに、このデータをアンパックします。

すべてのフィルター カテゴリ GUID は、次のキーの下のレジストリに一覧表示されます。

HKEY_CLASSES_ROOT\CLSID\{DA4E3DA0-D07D-11d0-BD50-00A0C911CE86}\Instance