建置 DirectShow 應用程式

[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]

本主題描述建置 DirectShow 應用程式所需的標頭和程式庫。

Windows SDK中提供最新的 DirectShow 標頭和程式庫。

標頭檔

所有 DirectShow 應用程式都會使用下表所示的標頭檔。

標頭檔案 必要項目
Dshow.h 所有 DirectShow 應用程式。

 

某些 DirectShow 介面需要其他標頭檔。 介面參考中會提及這些需求。

程式庫檔案

DirectShow 會使用下表所示的靜態程式庫檔案。

程式庫檔案 Description
Strmiids.lib (CLID) 和介面識別碼 (IID) 匯出類別識別碼。
一元.lib 匯出 AMGetErrorText 函式。 如果您未呼叫此函式,則不需要此程式庫。

 

針對偵錯和發行組建使用相同的 .lib 檔案。

篩選基類

如果您要撰寫自訂 DirectShow 篩選器,Windows SDK 會提供一組建議的 C++ 類別。 這些類別會以範例程式碼的形式提供,您可以編譯為靜態程式庫。 如需詳細資訊,請參閱 DirectShow 基類

可轉散發 DLL

使用 Service Pack 2 (SP2) 和更新版本為 Windows XP 所撰寫的 DirectShow 應用程式不需要轉散發任何 DirectShow DLL。

針對 Service Pack 1 (SP1) 和更早版本的 Windows XP,可從 Microsoft DirectX SDK 取得可轉散發的 DirectShow DLL。 這些 DLL 的最新版本是 9.0c 版。 計畫不會進一步開發這些可轉散發 DLL。 Windows XP with Service Pack 2 (SP2) 包含 9.0c DLL 版。

可重散發的套件包含下列 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 篩選