设置示例的所有者。
语法
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 |