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 つずつ処理するよりもバッチで処理する方が効率的なフィルタの場合は、この関数をオーバーライドすること。
参照