Freigeben über


CTransInPlaceFilter.CompleteConnect-Methode

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Die CompleteConnect -Methode schließt eine Pinverbindung ab.

Syntax

HRESULT CompleteConnect(
   PIN_DIRECTION direction,
   IPin          *pReceivePin
);

Parameter

direction

Member des PIN_DIRECTION aufgelisteten Typs, der angibt, welcher Pin im Filter die Verbindung herstellt.

pReceivePin

Zeiger auf die IPin-Schnittstelle des anderen Pins in diesem Verbindungsversuch.

Rückgabewert

Gibt ein HRESULT zurück. Mögliche Werte sind die in der folgenden Tabelle gezeigten Werte.

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
VFW_E_NOT_IN_GRAPH
Der Filter befindet sich nicht in einem Filterdiagramm.

Bemerkungen

Diese Methode überschreibt die CTransformFilter::CompleteConnect-Methode .

Das Verhalten des Filters hängt von der Reihenfolge der Pinverbindungen ab:

  • Wenn der Eingabenadel zuerst verbunden ist, verwendet die Verbindung eine temporäre Zuweisung. Wenn der Ausgabepin verbunden ist, verbindet der Filter den Eingabestift erneut. Das erneute Verbinden des Eingabestifts bewirkt, dass der Upstream Filter die Zuweisung neu aushandelt. An diesem Punkt schlägt der Eingabenadel eine Zuweisung aus dem Downstreamfilter vor. Weitere Informationen finden Sie unter CTransInPlaceInputPin::GetAllocator.
  • Wenn der Ausgabepin zuerst verbunden ist, wählt der Ausgabepin keine Zuweisung aus. Wenn der Eingabenadel verbunden ist, handelt er eine Zuweisung für beide Verbindungen aus. Wenn die Eingabe- und Ausgabemedientypen nicht identisch sind, verbindet der Filter den Ausgabepin mithilfe des Eingabetyps erneut.

Der Filter führt alle Erneutverbindungen durch, indem die CBaseFilter::ReconnectPin-Methode aufgerufen wird. Die ReconnectPin-Methode wiederum ruft die IFilterGraph2::ReconnectEx-Methode für den Filtergraph-Manager auf.

Anforderungen

Anforderung Wert
Header
Transip.h (include Streams.h)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CTransInPlaceFilter-Klasse