次の方法で共有


CBaseInputPin::ReceiveMultiple

ReceiveMultiple メソッドは、サンプルの配列を受け取る。このメソッドは IMemInputPin::ReceiveMultiple メソッドを実装する。

構文

  HRESULT ReceiveMultiple(
    IMediaSample **pSamples,
    long nSamples,
    long *nSamplesProcessed
);

パラメータ

pSamples

nSamples のサイズを持つ IMediaSample ポインタの配列のアドレス。

nSamples

処理するサンプルの数。

nSamplesProcessed

処理されたサンプルの数を受け取る変数のポインタ。

戻り値

HRESULT 値を返す。次のいずれかの値を返す。

説明
S_OK 成功。
S_FALSE ピンは現在フラッシュ中である。サンプルは拒否された。
E_POINTER NULL ポインタ引数。
VFW_E_INVALIDMEDIATYPE 無効なメディア タイプ。
VFW_E_RUNTIME_ERROR 実行時エラーが発生した。
VFW_E_WRONG_STATE ピンは停止している。

注意

このメソッドは CBaseInputPin::Receive メソッドと同じように動作するが、サンプルの配列を受け取る。基底クラスでは、このメソッドは配列をループ処理し、各サンプルで Receive を呼び出す。サンプルを一度に 1 つずつ処理するよりもバッチで処理する方が効率的なフィルタの場合は、この関数をオーバーライドすること。

参照