Méthode IBaseFilter ::JoinFilterGraph (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 JoinFilterGraph
méthode avertit le filtre qu’elle a rejoint ou quitté le graphe de filtre.
Syntaxe
HRESULT JoinFilterGraph(
[in] IFilterGraph *pGraph,
[in] LPCWSTR pName
);
Paramètres
[in] pGraph
Pointeur vers l’interface IFilterGraph du Gestionnaire de graphes de filtre ou NULL si le filtre quitte le graphe.
[in] pName
Pointeur vers une chaîne à caractères larges qui spécifie un nom pour le filtre.
Valeur retournée
Retourne S_OK en cas de réussite ou une valeur HRESULT indiquant la cause de l’erreur.
Remarques
Lorsque le Gestionnaire de graphes de filtre ajoute un filtre au graphe de filtre, il appelle cette méthode avec un pointeur vers lui-même. Il attribue un nom à cette instance du filtre via le paramètre pName. Vous pouvez récupérer le nom en appelant la méthode IBaseFilter ::QueryFilterInfo .
Lorsque le Gestionnaire de graphes de filtre supprime le filtre du graphe, il appelle cette méthode avec un pointeur NULL .
Les applications ne doivent jamais appeler cette méthode. Pour ajouter un filtre au graphe, appelez la méthode IFilterGraph ::AddFilter sur le gestionnaire de graphe de filtre.
Filtrer les développeurs : le filtre peut stocker le pointeur d’interface IFilterGraph et l’interroger pour d’autres interfaces Filter Graph Manager. Toutefois, il ne doit jamais contenir de références sur le Gestionnaire de graphes de filtre. Cela crée un nombre de références circulaires, car le Gestionnaire de graphes de filtre conserve un nombre de références sur le filtre. Un nombre de références circulaires empêche la libération correcte de l’interface, ce qui peut entraîner un blocage. La validité de l’interface IFilterGraph est garantie jusqu’à ce que le Gestionnaire de graphes de filtre appelle à nouveau cette méthode avec la valeur NULL. Pour obtenir une implémentation de cette méthode, consultez la méthode CBaseFilter ::JoinFilterGraph .
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 |