CTransInPlaceFilter.CompleteConnect, méthode

[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 CompleteConnect méthode termine une connexion d’épingle.

Syntaxe

HRESULT CompleteConnect(
   PIN_DIRECTION direction,
   IPin          *pReceivePin
);

Paramètres

direction

Membre du PIN_DIRECTION type énuméré, en spécifiant l’épingle sur le filtre qui effectue la connexion.

pReceivePin

Pointeur vers l’interface IPin de l’autre broche dans cette tentative de connexion.

Valeur renvoyée

Retourne un HRESULT. Les valeurs possibles incluent celles indiquées dans le tableau suivant.

Code de retour Description
S_OK
Opération réussie.
VFW_E_NOT_IN_GRAPH
Le filtre n’est pas dans un graphique de filtre.

Notes

Cette méthode remplace la méthode CTransformFilter::CompleteConnect .

Le comportement du filtre dépend de l’ordre des connexions de broche :

  • Si la broche d’entrée est connectée en premier, la connexion utilise un allocateur temporaire. Lorsque la broche de sortie est connectée, le filtre reconnecte la broche d’entrée. La reconnexion de la broche d’entrée entraîne la renégociation de l’allocateur par le filtre amont. À ce stade, la broche d’entrée propose un allocateur à partir du filtre en aval. Pour plus d’informations, consultez CTransInPlaceInputPin::GetAllocator.
  • Si la broche de sortie est connectée en premier, la broche de sortie ne sélectionne pas d’allocateur. Lorsque la broche d’entrée est connectée, elle négocie un allocateur pour les deux connexions. Si les types de média d’entrée et de sortie ne sont pas les mêmes, le filtre reconnecte la broche de sortie à l’aide du type d’entrée.

Le filtre effectue toutes les reconnexions d’épingle en appelant la méthode CBaseFilter::ReconnectPin . La méthode ReconnectPin appelle à son tour la méthode IFilterGraph2::ReconnectEx sur le gestionnaire de graphe de filtres.

Configuration requise

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

Voir aussi

CTransInPlaceFilter, classe