CBaseInputPin.ReceiveCanBlock-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 ReceiveCanBlock
-Methode bestimmt, ob Aufrufe der IMemInputPin::Receive-Methode blockiert werden können. Diese Methode implementiert die IMemInputPin::ReceiveCanBlock-Methode .
Syntax
HRESULT ReceiveCanBlock();
Parameter
Diese Methode hat keine Parameter.
Rückgabewert
Gibt einen HRESULT-Wert zurück. Mögliche Werte sind die in der folgenden Tabelle aufgeführten Werte.
Rückgabecode | Beschreibung |
---|---|
|
Die Pin wird bei einem Anruf von Receive nicht blockiert. |
|
Die Anheftung kann bei einem Aufruf von Receive blockiert werden. |
Bemerkungen
Gibt S_FALSE zurück, wenn Aufrufe der Receive-Methode garantiert nicht blockiert werden. Andernfalls geben Sie S_OK oder einen Fehlercode zurück. Wenn die Receive-MethodeReceive über einen Downstream-Pin aufruft, kann der Downstream-Pin blockiert werden. ReceiveCanBlock
muss diesen Faktor berücksichtigen.
Ein Upstream Filter kann diese Methode verwenden, um seine Threadingstrategie zu bestimmen. Wenn die Receive-Methode möglicherweise blockiert wird, entscheidet sich der Upstream Filter möglicherweise für die Verwendung eines Workerthreads, der Daten puffert. Eine Implementierung dieser Strategie finden Sie in der COutputQueue-Klasse .
In der Basisklasse gibt diese Methode S_OK zurück, wenn eine der folgenden Punkte zutrifft:
- Der Filter verfügt über keine Ausgabepins.
- Ein mit diesem Filter verbundener Eingabenadel signalisiert, dass er blockiert werden kann.
- Ein mit diesem Filter verbundener Eingabenadel unterstützt die IMemInputPin-Schnittstelle nicht.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|