Partager via


Méthode CBasePin.CheckConnect

[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.]

La CheckConnect méthode détermine si une connexion d’épingle est appropriée.

Syntaxe

virtual HRESULT CheckConnect(
   IPin *pPin
);

Paramètres

pPin

Pointeur vers l’interface IPin de l’autre épingle.

Valeur renvoyée

Retourne l’une des valeurs HRESULT indiquées dans le tableau suivant.

Code de retour Description
S_OK
Opération réussie.
VFW_E_INVALID_DIRECTION
Les directions d’épingle ne sont pas compatibles.

Notes

Cette méthode est appelée sur les deux broches au début du processus de connexion. La broche de connexion l’appelle à partir de la méthode CBasePin::Connect , et l’épingle de réception l’appelle à partir de la méthode CBasePin::ReceiveConnection .

Utilisez cette méthode pour déterminer si l’épingle spécifiée par le paramètre pPin convient à une connexion. La classe de base retourne une erreur si les deux broches ont la même direction (les deux entrées ou les deux sorties). Les classes dérivées peuvent remplacer cette méthode pour vérifier d’autres fonctionnalités dans l’épingle. Par exemple, la classe CBaseOutputPin interroge la broche d’entrée pour son interface IMemInputPin .

Si cette méthode échoue, la connexion échoue et l’épingle appelle la méthode CBasePin::BreakConnect . Utilisez BreakConnect pour libérer toutes les ressources obtenues dans CheckConnect. Par exemple, si CheckConnect appelle la méthode QueryInterface , BreakConnect doit libérer l’interface.

Configuration requise

Condition requise Valeur
En-tête
Amfilter.h (include Streams.h)
Bibliothèque
Strmbase.lib (builds de vente au détail) ;
Strmbasd.lib (builds de débogage)

Voir aussi

CBasePin, classe