CBaseInputPin.ReceiveCanBlock-Methode
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 Stecknadel wird bei einem Aufruf von Receive nicht blockiert. |
|
Die Stecknadel kann bei einem Aufruf von Receive blockiert werden. |
Hinweise
Gibt S _ FALSE zurück, wenn Aufrufe der Receive-Methode garantiert nicht blockiert werden. Andernfalls wird S _ OK oder ein Fehlercode zurückgegeben. Wenn die Receive-Methode Receive für einen Downstreampin aufruft, wird der Downstreampin möglicherweise blockiert. ReceiveCanBlock muss diesen Faktor berücksichtigen.
Ein Upstreamfilter kann diese Methode verwenden, um seine Threadingstrategie zu bestimmen. Wenn die Receive-Methode blockiert werden kann, entscheidet sich der Upstreamfilter möglicherweise für die Verwendung eines Arbeitsthreads, 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 Eingabepin, der mit diesem Filter verbunden ist, signalisiert, dass er möglicherweise blockiert wird.
- Ein Eingabepin, der mit diesem Filter verbunden ist, unterstützt die IMemInputPin-Schnittstelle nicht.
Anforderungen
| Anforderung | Wert |
|---|---|
| Header |
|
| Bibliothek |
|