CBaseInputPin.ReceiveCanBlock メソッド

このメソッドは ReceiveCanBlockIMemInputPin::Receive メソッドの呼び出しがブロックされる可能性があるかどうかを判断します。 このメソッドは 、IMemInputPin::ReceiveCanBlock メソッドを 実装します。

構文

HRESULT ReceiveCanBlock();

パラメーター

このメソッドにはパラメーターはありません。

戻り値

HRESULT 値を返します。 次の表に示す値を指定できます。

リターン コード 説明
S_FALSE
Pin は、受信への呼び出しでブロックされません。
S_OK
受信の呼び出しでピンがブロックされる場合があります。

注釈

Receive メソッドの呼び出しがブロックされないことが保証されている場合は、S_FALSEを返します。 それ以外の場合は、S_OKまたはエラー コードを返します。 Receive メソッドがダウンストリーム ピンで Receive を呼び出すと、ダウンストリーム ピンがブロックされる可能性があります。ReceiveCanBlockその要素を考慮する必要があります。

アップストリーム フィルターでは、このメソッドを使用してスレッド戦略を決定できます。 Receive メソッドがブロックされる可能性がある場合、アップストリーム フィルターはデータをバッファー処理するワーカー スレッドを使用することを決定する場合があります。 この戦略の実装については、 COutputQueue クラスを参照してください。

基底クラスでは、次のいずれかが true の場合、このメソッドはS_OKを返します。

  • フィルターには出力ピンがありません。
  • このフィルターに接続された入力ピンは、ブロックされる可能性があることを通知します。
  • このフィルターに接続されている入力ピンは 、IMemInputPin インターフェイスをサポートしていません。

要件

要件
ヘッダー
Amfilter.h (ストリーム.h を含む)
ライブラリ
Strmbase.lib (リテール ビルド);
Strmbasd.lib (デバッグ ビルド)

こちらもご覧ください

CBaseInputPin クラス