IMFTrackedSample::SetAllocator 方法 (mfidl.h)
设置示例的所有者。
语法
HRESULT SetAllocator(
[in] IMFAsyncCallback *pSampleAllocator,
[in] IUnknown *pUnkState
);
参数
[in] pSampleAllocator
指向回调对象的 IMFAsyncCallback 接口的指针。 调用方必须实现此接口。
[in] pUnkState
指向由调用方定义的状态对象的 IUnknown 接口的指针。 此参数可以为 NULL。 可以使用此对象来保存状态信息。 调用回调时,对象将返回到调用方。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
所有者已设置。 此方法不能在示例中调用两次。 |
注解
调用此方法时,该示例本身保留一个额外的引用计数。 当每个其他对象释放其对示例的引用计数时,该示例将调用 pSampleAllocator 回调方法。 若要获取指向示例的指针,请在给定给回调的 IMFAsyncCallback:: Invoke 方法的异步结果对象 上调用 IMFAsyncResult:: GetObject。
调用回调后,示例将清除回调。 若要恢复回调,必须再次调用 SetAllocator 。
可以安全地将示例的 IMFSample 接口指针作为状态对象 (pUnkState) 进行回调。 如果 pUnkState 指向示例, SetAllocator 方法会考虑 pUnkState 上的附加引用计数。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | mfidl.h |
Library | Strmiids.lib |