CBaseAllocator.SetNotify 方法
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
[SetNotify 在后续版本中可能已更改或不可用。]
方法 SetNotify
设置或删除分配器上的回调。 每当调用分配器的 IMemAllocator::ReleaseBuffer 方法时,分配器都会调用回调方法。
语法
HRESULT SetNotify(
IMemAllocatorNotifyCallbackTemp *pNotify
);
参数
-
pNotify
-
指向将用于回调的 IMemAllocatorNotifyCallbackTemp 接口的指针。 调用方必须实现 接口。 使用值 NULL 可删除回调。
返回值
返回 S_OK。
注解
此方法实现 IMemAllocatorCallbackTemp::SetNotify 方法。 除非 CBaseAllocator 构造函数中的 fEnableReleaseCallback 标志设置为 TRUE,否则分配器不会公开 IMemAllocatorCallbackTemp 接口。
此方法将 CBaseAllocator::m_pNotify 成员变量设置为 等于 pNotify ,并递增接口上的引用计数。 如果 m_pNotify 非 NULL,则分配器的 ReleaseBuffer 方法调用 IMemAllocatorNotifyCallbackTemp::NotifyRelease。 有关实现回调的信息,请参阅该方法中的“备注”部分。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|