CBaseInputPin.ReceiveMultiple 方法

该方法 ReceiveMultiple 接收样本数组。 此方法实现 IMemInputPin::ReceiveMultiple 方法。

语法

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

parameters

pSamples

IMediaSample 指针数组的地址,大小为 nSamples

nSamples

要处理的样本数。

nSamplesProcessed

指向接收已处理样本数的变量的指针。

返回值

返回 HRESULT 值。 可能的值包括下表中列出的值。

返回代码 说明
S_OK
成功。
S_FALSE
引脚当前正在刷新;示例被拒绝。
E_POINTER
NULL 指针参数。
VFW_E_INVALIDMEDIATYPE
媒体类型无效。
VFW_E_RUNTIME_ERROR
出现运行时错误。
VFW_E_WRONG_STATE
引脚已停止。

注解

此方法的行为类似于 CBaseInputPin::Receive 方法,但接收样本数组。 在基类中,该方法循环访问数组并调用 Receive 和每个示例。 如果筛选器可以更高效地处理批样本,而不是一次处理一个样本,则重写此函数。

要求

要求 Value
标头
Amfilter.h (包括 Streams.h)

Strmbase.lib (零售版) ;
Strmbasd.lib (调试生成)

另请参阅

CBaseInputPin 类