CBaseOutputPin. DecideAllocator 方法

DecideAllocator方法选择内存分配器。

语法

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

parameters

pPin

指向输入插针的 IMemInputPin 接口的指针。

pAlloc

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

返回值

_如果成功,则返回 S 正常,或指示错误原因的 HRESULT 值。

备注

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

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

要求

要求 Value
标头
Amfilter (包含流 .h)

Strmbase (零售版本) ;
Strmbasd (调试版本)

请参阅

CBaseOutputPin 类