CBaseAllocator.CBaseAllocator 构造函数

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

构造函数方法。

语法

CBaseAllocator(
   TCHAR     *pName,
   LPUNKNOWN pUnk,
   HRESULT   *phr,
   BOOL      bEvent = TRUE,
   BOOL      fEnableReleaseCallback = FALSE
);

参数

pName

指向包含分配器的调试名称的字符串的指针。 有关详细信息,请参阅 CBaseObject

pUnk

指向此对象的所有者的指针。 如果对象已聚合,请传递指向聚合对象的 IUnknown 接口的指针。 否则,请将此参数设置为 NULL

phr

指向 HRESULT 值的指针。 在创建 对象之前,将 值设置为 S_OK。 如果构造函数失败,该值将设置为错误代码。

bEvent

指示是否创建信号灯的布尔值。 如果 为 TRUE,则分配器 (CBaseAllocator::m_hSem) 创建信号灯,每当样本可用时发出信号。 如果要实现不需要信号灯的派生类,请将值设置为 FALSE

fEnableReleaseCallback

指示是否启用发布回调机制的布尔值。 如果要提供回调接口(在释放缓冲区时调用),请将值设置为 TRUE 。 通过调用 CBaseAllocator::SetNotify 方法指定回调。

要求

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

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

另请参阅

CBaseAllocator 类