Criando aplicativos DirectShow

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na 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 Captura de Áudio/Vídeo no 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.]

Este tópico descreve os cabeçalhos e bibliotecas necessários para criar aplicativos DirectShow.

Os cabeçalhos e bibliotecas mais recentes do DirectShow estão disponíveis no SDK do Windows.

Arquivos de cabeçalho

Todos os aplicativos DirectShow usam o arquivo de cabeçalho mostrado na tabela a seguir.

Arquivos de cabeçalho Necessário para
Dshow.h Todos os aplicativos DirectShow.

 

Algumas interfaces do DirectShow exigem arquivos de cabeçalho adicionais. Esses requisitos são observados na referência de interface.

Arquivos de biblioteca

O DirectShow usa os arquivos de biblioteca estáticos mostrados na tabela a seguir.

Arquivo de Biblioteca Descrição
Strmiids.lib Exporta CLSIDs (identificadores de classe) e IIDs (identificadores de interface).
Quartz.lib Exporta a função AMGetErrorText . Se você não chamar essa função, essa biblioteca não será necessária.

 

Use os mesmos arquivos .lib para compilações de depuração e versão.

Filtrar classes base

O SDK do Windows fornece um conjunto de classes C++ que são recomendadas se você estiver escrevendo um filtro DirectShow personalizado. Essas classes são fornecidas como código de exemplo, que você pode compilar em uma biblioteca estática. Para obter mais informações, consulte Classes base do DirectShow.

DLLs redistribuíveis

Os aplicativos DirectShow gravados para Windows XP com Service Pack 2 (SP2) e posteriores não precisam redistribuir nenhuma DLL do DirectShow.

Para o Windows XP com Service Pack 1 (SP1) e versões anteriores, DLLs redistribuíveis do DirectShow estão disponíveis no SDK do Microsoft DirectX. A versão mais recente dessas DLLs é a versão 9.0c. Nenhum desenvolvimento adicional dessas DLLs redistribuíveis está planejado. O Windows XP com Service Pack 2 (SP2) contém as DLLs versão 9.0c.

Os pacotes redstributable contêm as seguintes DLLs:

  • dxnt.cab
    • amstream.dll
    • devenum.dll
    • encapi.dll
    • ks.sys
    • ksolay.ax
    • ksproxy.ax
    • ksuser.dll
    • l3codecx.ax
    • mciqtz32.dll
    • mpg2splt.ax
    • msdmo.dll
    • mskssrv.sys
    • mspclock.sys
    • mspqm.sys
    • mstee.sys
    • mswebdvd.dll
    • qasf.dll
    • qcap.dll
    • qdv.dll
    • qdvd.dll
    • qedit.dll
    • qedwipes.dll
    • quartz.dll
    • stream.sys
    • swenum.sys
  • bda.cab
    • bdaplgin.ax
    • bdasup.sys
    • ccdecode.sys
    • ipsink.ax
    • kstvtune.ax
    • kswdmcap.ax
    • ksxbar.ax
    • mpe.sys
    • mpeg2data.ax
    • msdv.sys
    • msdvbnp.ax
    • msvidctl.dll
    • msyuv.dll
    • nabtsfec.sys
    • ndisip.sys
    • psisdecd.dll
    • psisrndr.ax
    • slip.sys
    • streamip.sys
    • vbisurf.ax
    • wstcodec.sys
    • wstdecod.dll

Criando filtros do DirectShow