Création d’applications DirectShow

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture in Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation au lieu de DirectShow, si possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

Cette rubrique décrit les en-têtes et les bibliothèques nécessaires pour générer des applications DirectShow.

Les en-têtes et bibliothèques DirectShow les plus récents sont disponibles dans le Kit de développement logiciel (SDK) Windows.

Fichiers d’en-tête

Toutes les applications DirectShow utilisent le fichier d’en-tête indiqué dans le tableau suivant.

Fichier d'en-tête Requis pour
Dshow.h Toutes les applications DirectShow.

 

Certaines interfaces DirectShow nécessitent des fichiers d’en-tête supplémentaires. Ces exigences sont indiquées dans la référence d’interface.

Fichiers de bibliothèque

DirectShow utilise les fichiers de bibliothèque statiques indiqués dans le tableau suivant.

Fichier de bibliothèque Description
Strmiids.lib Exporte des identificateurs de classe (CLSID) et des identificateurs d’interface (IID).
Quartz.lib Exporte la fonction AMGetErrorText . Si vous n’appelez pas cette fonction, cette bibliothèque n’est pas requise.

 

Utilisez les mêmes fichiers .lib pour les builds de débogage et release.

Filtrer les classes de base

Le Kit de développement logiciel (SDK) Windows fournit un ensemble de classes C++ recommandées si vous écrivez un filtre DirectShow personnalisé. Ces classes sont fournies sous forme d’exemple de code, que vous pouvez compiler dans une bibliothèque statique. Pour plus d’informations, consultez Classes de base DirectShow.

DLL redistribuables

Les applications DirectShow écrites pour Windows XP avec Service Pack 2 (SP2) et versions ultérieures n’ont pas besoin de redistribuer les DLL DirectShow.

Pour Windows XP avec Service Pack 1 (SP1) et versions antérieures, les DLL DirectShow redistribuables sont disponibles à partir du Kit de développement logiciel (SDK) Microsoft DirectX. La dernière version de ces DLL est la version 9.0c. Aucun autre développement de ces DLL redistribuables n’est prévu. Windows XP avec Service Pack 2 (SP2) contient les DLL de la version 9.0c.

Les packages attribuables en rouge contiennent les DLL suivantes :

  • 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

Génération de filtres DirectShow