Создание приложений DirectShow

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

В этом разделе описываются заголовки и библиотеки, необходимые для создания приложений DirectShow.

Последние заголовки и библиотеки DirectShow доступны в windows SDK.

Файлы заголовков

Все приложения DirectShow используют файл заголовка, показанный в следующей таблице.

Файл заголовка Обязательно для
Dshow.h Все приложения DirectShow.

 

Для некоторых интерфейсов DirectShow требуются дополнительные файлы заголовков. Эти требования указаны в справочнике по интерфейсу.

Файлы библиотеки

DirectShow использует файлы статической библиотеки, показанные в следующей таблице.

Файл библиотеки Описание
Strmiids.lib Экспортирует идентификаторы классов (CLSID) и идентификаторы интерфейсов (IID).
Кварц.lib Экспортирует функцию AMGetErrorText . Если эта функция не вызывается, эта библиотека не требуется.

 

Используйте одни и те же LIB-файлы для сборок отладки и выпуска.

Фильтрация базовых классов

Пакет WINDOWS SDK предоставляет набор классов C++, которые рекомендуется использовать при написании настраиваемого фильтра DirectShow. Эти классы предоставляются в виде примера кода, который можно скомпилировать в статическую библиотеку. Дополнительные сведения см. в разделе Базовые классы DirectShow.

Распространяемые библиотеки DLL

Приложения DirectShow, написанные для Windows XP с пакетом обновления 2 (SP2) и более поздних версий, не должны повторно распространять библиотеки DLL DirectShow.

Для Windows XP с пакетом обновления 1 (SP1) и более ранних версий распространяемые библиотеки DLL DirectShow доступны из пакета SDK Microsoft DirectX. Последней версией этих библиотек DLL является версия 9.0c. Дальнейшая разработка этих распространяемых библиотек DLL не планируется. Windows XP с пакетом обновления 2 (SP2) содержит библиотеки DLL версии 9.0c.

Красные пакеты содержат следующие библиотеки DLL:

  • 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

Создание фильтров DirectShow