Layout das chaves do Registro

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

Os filtros do DirectShow são registrados em dois locais:

  • A DLL que contém o filtro é registrada como o servidor COM do filtro. Quando um aplicativo chama CoCreateInstance para criar o filtro, a biblioteca COM do Microsoft Windows usa essa entrada do Registro para localizar a DLL.
  • Informações adicionais sobre o filtro podem ser registradas em uma categoria de filtro. Essas informações permitem que o Enumerador de Dispositivo do Sistema e o Mapeador de Filtro localizem o filtro.

Os filtros não são necessários para registrar as informações de filtro adicionais. Desde que a DLL seja registrada como o servidor COM, um aplicativo pode criar o filtro e adicioná-lo a um grafo de filtro. No entanto, se você quiser que o filtro seja detectável pelo Enumerador de Dispositivo do Sistema ou pelo Mapeador de Filtro, registre as informações adicionais.

A entrada do Registro para a DLL tem as seguintes chaves:

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

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

A entrada do Registro para as informações de filtro tem as seguintes chaves:

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

é o GUID de uma categoria de filtro. (Consulte Categorias de filtro.) As informações de filtro são empacotadas em um formato binário. A interface IFilterMapper2 descompacta esses dados quando pesquisa um filtro no Registro.

Todos os GUIDs da categoria de filtro são listados no registro sob a seguinte chave:

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