IGraphBuilder ::AddSourceFilter, méthode (strmif.h)
[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est 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.]
La AddSourceFilter
méthode ajoute un filtre source pour un fichier spécifié au graphe de filtre.
Syntaxe
HRESULT AddSourceFilter(
[in] LPCWSTR lpcwstrFileName,
[in] LPCWSTR lpcwstrFilterName,
[out] IBaseFilter **ppFilter
);
Paramètres
[in] lpcwstrFileName
Spécifie le nom du fichier à charger.
[in] lpcwstrFilterName
Spécifie un nom pour le filtre source.
[out] ppFilter
Reçoit un pointeur vers l’interface IBaseFilter du filtre. L’appelant doit libérer l’interface.
Valeur retournée
Retourne un HRESULT. Les valeurs possibles sont les suivantes.
Code de retour | Description |
---|---|
|
Réussite. |
|
Le filtre source ne prend pas en charge l’interface IFileSourceFilter . |
|
Mémoire insuffisante. |
|
Argument pointeur NULL . |
|
Impossible de charger le filtre source de ce fichier. |
|
Fichier ou objet introuvable. |
|
Le type de média de ce fichier n’a pas été reconnu. |
Remarques
Cette méthode recherche un filtre installé qui peut lire le fichier spécifié. Si elle en trouve un, la méthode l’ajoute au graphe de filtre et retourne un pointeur vers l’interface IBaseFilter du filtre. Pour déterminer le type de média et le schéma de compression du fichier, le Gestionnaire de graphes de filtre lit les premiers octets du fichier, en recherchant des modèles spécifiques d’octets, comme indiqué dans l’article Inscription d’un type de fichier personnalisé.
L’application est responsable de la génération du reste du graphe de filtre. Pour ce faire, appelez IBaseFilter ::EnumPins pour énumérer les broches de sortie sur le filtre source. Utilisez ensuite la méthode IGraphBuilder ::Connect ou la méthode IGraphBuilder ::Render .
Si la méthode réussit, l’interface IBaseFilter a un nombre de références en suspens. L’appelant doit libérer l’interface.
Pour restituer un fichier en vue d’une lecture par défaut, utilisez la méthode IGraphBuilder ::RenderFile .
Le Gestionnaire de graphes de filtre contient un nombre de références sur le filtre jusqu’à ce que le filtre soit supprimé du graphe ou que le gestionnaire de graphes de filtre soit libéré.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | strmif.h (include Dshow.h) |
Bibliothèque | Strmiids.lib |