IResourceManager::RequestResource 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 RequestResource
请求使用给定的注册资源。
语法
HRESULT RequestResource(
[in] LONG idResource,
[in] IUnknown *pFocusObject,
[in] IResourceConsumer *pConsumer
);
参数
[in] idResource
注册资源时检索到的资源令牌。
[in] pFocusObject
指向与请求关联的焦点对象的 IUnknown 接口的指针 (通常是筛选器) 的 IUnknown 接口。
[in] pConsumer
指向请求资源的对象上的 IResourceConsumer 接口的指针。
返回值
返回 HRESULT 值。 如果返回请求的资源,则返回S_OK;如果资源不可用,则返回S_FALSE,在这种情况下,当资源变为可用时,资源管理器将调用请求对象。 任何其他返回都是错误。
备注
当有多个资源请求时,资源管理器将使用随每个请求传递的焦点对象,并将其与最新 IResourceManager::SetFocus 方法中传递的焦点对象进行比较来决定优先级。
请求将按以下优先级顺序进行填充:
- 使用与最后一个 SetFocus 方法完全相同的焦点对象发出的请求。
- 其焦点对象共享公共源筛选器的请求,其焦点对象共享一个通用筛选器图。
- 与焦点位于同一进程中的请求。
筛选器应在 pFocusObject 参数中传递筛选器的 IUnknown 接口。 筛选器图管理器将筛选器与筛选器图匹配,并在检查焦点对象时尝试将筛选器跟踪到常见的源筛选器。
焦点对象必须在请求的整个生存期内有效,直到调用 IResourceManager::CancelRequest 方法,或者调用 IResourceManager::NotifyRelease 方法,并将 bStillWant 参数设置为 FALSE。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |
Library | Strmiids.lib |