CBasePin.CheckConnect-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 CheckConnect -Methode bestimmt, ob eine Pinverbindung geeignet ist.

Syntax

virtual HRESULT CheckConnect(
   IPin *pPin
);

Parameter

pPin

Zeiger auf die IPin-Schnittstelle des anderen Pins.

Rückgabewert

Gibt einen der in der folgenden Tabelle gezeigten HRESULT-Werte zurück.

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
VFW_E_INVALID_DIRECTION
Pin-Anweisungen sind nicht kompatibel.

Bemerkungen

Diese Methode wird zu Beginn des Verbindungsvorgangs auf beiden Pins aufgerufen. Der Verbindungspin ruft sie aus der CBasePin::Connect-Methode auf, und die empfangende Pin ruft sie aus der CBasePin::ReceiveConnection-Methode auf.

Verwenden Sie diese Methode, um zu bestimmen, ob der durch den pPin-Parameter angegebene Pin für eine Verbindung geeignet ist. Die Basisklasse gibt einen Fehler zurück, wenn beide Pins dieselbe Richtung haben (sowohl Eingabe als auch Ausgabe). Abgeleitete Klassen können diese Methode überschreiben, um andere Features in der Pin zu überprüfen. Beispielsweise fragt die CBaseOutputPin-Klasse den Eingabenadel für ihre IMemInputPin-Schnittstelle ab.

Wenn diese Methode fehlschlägt, schlägt die Verbindung fehl, und der Pin ruft die CBasePin::BreakConnect-Methode auf. Verwenden Sie BreakConnect , um alle in CheckConnectabgerufenen Ressourcen freizugeben. Wenn CheckConnect beispielsweise die QueryInterface-Methode aufgerufen wird, muss BreakConnect die Schnittstelle freigeben.

Anforderungen

Anforderung Wert
Header
Amfilter.h (streams.h einschließen)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CBasePin-Klasse