CBasePin.ReceiveConnection-Methode

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Die ReceiveConnection -Methode akzeptiert eine Verbindung von einem anderen Pin. Diese Methode implementiert die IPin::ReceiveConnection-Methode .

Syntax

HRESULT ReceiveConnection(
   IPin          *pConnector,
   AM_MEDIA_TYPE *pmt
);

Parameter

pConnector

Zeiger auf die IPin-Schnittstelle des Verbindungspins.

Pmt

Zeiger auf eine AM_MEDIA_TYPE-Struktur , die den Medientyp angibt.

Rückgabewert

Gibt einen HRESULT-Wert zurück. Mögliche Werte sind die werte in der folgenden Tabelle.

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
E_POINTER
NULL-Zeigerargument.
VFW_E_ALREADY_CONNECTED
Der Pin ist bereits verbunden.
VFW_E_NOT_STOPPED
Der Filter ist aktiv, und der Pin unterstützt keine dynamische Erneute Verbindung.
VFW_E_TYPE_NOT_ACCEPTED
Der angegebene Medientyp ist nicht akzeptabel.

Bemerkungen

Der Ausgabenadel ruft diese Methode am Eingabenadel auf. Wenn der Eingabestift einen Fehlercode zurückgibt, schlägt die Verbindung fehl.

In der Basisklasse führt diese Methode die folgenden Schritte aus:

Wenn alle diese Schritte erfolgreich sind, ruft die Methode die Methoden CBasePin::CompleteConnect und SetMediaType auf, um die Verbindung abzuschließen. Diese Methoden speichern den Medientyp und einen Zeiger auf den Ausgabenadel.

Wenn CheckConnect oder CheckMediaType fehlschlagen, ruft die Basisklasse die CBasePin::BreakConnect-Methode auf, um die Verbindung zu unterbrechen, und gibt dann einen Fehlercode von zurück ReceiveConnection.

Anforderungen

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

Siehe auch

CBasePin-Klasse