CBaseOutputPin.DecideAllocator 方法

该方法 DecideAllocator 选择内存分配器。

语法

virtual HRESULT DecideAllocator(
   IMemInputPin  *pPin,
   IMemAllocator **pAlloc
);

参数

pPin

指向输入引脚的 IMemInputPin 接口的指针。

pAlloc

接收指向分配器的 IMemAllocator 接口的指针的变量的地址。

返回值

如果成功,则返回S_OK或指示错误原因的 HRESULT 值。

注解

此方法在引脚连接过程结束时调用。 它执行以下步骤:

  1. 调用 IMemInputPin::GetAllocatorRequirements 方法来检索输入引脚的缓冲区要求(如果有)。
  2. 调用 IMemInputPin::GetAllocator 方法以从输入引脚请求分配器。 如果输入引脚不提供分配器,则输出引脚通过调用 CBaseOutputPin::InitAllocator 类方法创建一个。
  3. 调用 CBaseOutputPin::D ecideBufferSize 类方法,该方法设置分配器属性。 这是纯虚拟方法;派生类必须实现它。
  4. 调用 IMemInputPin::NotifyAllocator 方法,该方法通知正在使用的分配器的输入引脚。

要求

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

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

另请参阅

CBaseOutputPin 类