Compilazione di applicazioni DirectShow

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

In questo argomento vengono descritte le intestazioni e le librerie necessarie per compilare applicazioni DirectShow.

Le intestazioni e le librerie DirectShow più recenti sono disponibili in Windows SDK.

File di intestazione

Tutte le applicazioni DirectShow usano il file di intestazione illustrato nella tabella seguente.

File di intestazione Obbligatorio per
Dshow.h Tutte le applicazioni DirectShow.

 

Alcune interfacce DirectShow richiedono file di intestazione aggiuntivi. Questi requisiti sono indicati nel riferimento all'interfaccia.

File di libreria

DirectShow usa i file di libreria statica illustrati nella tabella seguente.

File di libreria Descrizione
Strmiids.lib Esporta identificatori di classe (CLSID) e identificatori di interfaccia (IID).
Quarzi.lib Esporta la funzione AMGetErrorText . Se non si chiama questa funzione, questa libreria non è necessaria.

 

Usare gli stessi file con estensione lib per le build di debug e versione.

Filtra classi base

Windows SDK offre un set di classi C++ consigliate se si scrive un filtro DirectShow personalizzato. Queste classi vengono fornite come codice di esempio, che è possibile compilare in una libreria statica. Per altre informazioni, vedere Classi di base DirectShow.

DLL ridistribuibili

Le applicazioni DirectShow scritte per Windows XP con Service Pack 2 (SP2) e versioni successive non devono ridistribuire le DLL DirectShow.

Per Windows XP con Service Pack 1 (SP1) e versioni precedenti, le DLL DirectShow ridistribuibili sono disponibili in Microsoft DirectX SDK. La versione più recente di queste DLL è la 9.0c. Non è previsto alcun ulteriore sviluppo di queste DLL ridistribuibili. Windows XP con Service Pack 2 (SP2) contiene le DLL della versione 9.0c.

I pacchetti redstributable contengono le DLL seguenti:

  • 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

Compilazione di filtri DirectShow