Udostępnij przez


Kompilowanie aplikacji DirectShow

[Funkcja skojarzona z tą stroną, DirectShow, jest starszą funkcją. Został zastąpiony przez MediaPlayer, IMFMediaEnginei Audio/Video Capture w Media Foundation. Te funkcje zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał MediaPlayer, IMFMediaEngine i Audio/Video Capture w programie Media Foundation zamiast DirectShow, jeśli to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]

W tym temacie opisano nagłówki i biblioteki potrzebne do kompilowania aplikacji DirectShow.

Najnowsze nagłówki i biblioteki DirectShow są dostępne w zestawu Windows SDK.

Pliki nagłówka

Wszystkie aplikacje DirectShow używają pliku nagłówka pokazanego w poniższej tabeli.

Plik nagłówka Wymagane dla
Dshow.h Wszystkie aplikacje DirectShow.

 

Niektóre interfejsy DirectShow wymagają dodatkowych plików nagłówków. Te wymagania zostały zanotowane w dokumentacji interfejsu.

Pliki biblioteki

DirectShow używa plików biblioteki statycznej pokazanych w poniższej tabeli.

Plik biblioteki Opis
Strmiids.lib Eksportuje identyfikatory klas (CLSID) oraz interfejsów (IID).
Kwarc.lib Eksportuje funkcję AMGetErrorText. Jeśli ta funkcja nie zostanie wywołana, ta biblioteka nie jest wymagana.

 

Użyj tych samych plików .lib dla kompilacji debug i release.

Filtrowanie klas bazowych

Zestaw Windows SDK udostępnia zestaw klas języka C++, które są zalecane w przypadku pisania niestandardowego filtru DirectShow. Te klasy są udostępniane jako przykładowy kod, który można skompilować do biblioteki statycznej. Aby uzyskać więcej informacji, zobacz Klasy bazowe DirectShow.

Redystrybuowalne biblioteki DLL

Aplikacje DirectShow napisane dla systemu Windows XP z dodatkiem Service Pack 2 (SP2) i nowszym nie muszą rozpowszechniać żadnych bibliotek DLL DirectShow.

W przypadku systemu Windows XP z dodatkiem Service Pack 1 (SP1) i starszych, biblioteki DLL DirectShow są częścią pakietu redystrybucyjnego dostępnego w zestawie SDK Microsoft DirectX. Najnowsza wersja tych bibliotek DLL to wersja 9.0c. Nie planowane jest dalsze opracowywanie tych bibliotek DLL redystrybucyjnych. System Windows XP z dodatkiem Service Pack 2 (SP2) zawiera biblioteki DLL w wersji 9.0c.

Pakiety redystrybucyjne zawierają następujące biblioteki 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

kompilowanie filtrów DirectShow