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 |
---|---|
|
Erfolg. |
|
NULL-Zeigerargument. |
|
Der Pin ist bereits verbunden. |
|
Der Filter ist aktiv, und der Pin unterstützt keine dynamische Erneute Verbindung. |
|
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:
- Überprüft, ob der Pin bereits verbunden ist.
- Überprüft, ob der Filter beendet ist.
- Ruft die CBasePin::CheckConnect-Methode auf, um zu testen, ob der Verbindungspin geeignet ist.
- Ruft die CBasePin::CheckMediaType-Methode auf, um zu testen, ob der Medientyp akzeptabel ist.
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 |
|
Bibliothek |
|