IResourceManager::RequestResource method (strmif.h)
[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
The RequestResource
method requests the use of a given registered resource.
Syntax
HRESULT RequestResource(
[in] LONG idResource,
[in] IUnknown *pFocusObject,
[in] IResourceConsumer *pConsumer
);
Parameters
[in] idResource
Resource token retrieved when the resource was registered.
[in] pFocusObject
Pointer to the IUnknown interface of a focus object associated with a request (typically the IUnknown interface of the filter).
[in] pConsumer
Pointer to the IResourceConsumer interface on the object requesting the resource.
Return value
Returns an HRESULT value. Returns S_OK if the requested resource is returned, or S_FALSE if the resource is not available, in which case the resource manager will call the requesting object back when the resource becomes available. Any other return is an error.
Remarks
When there is more than one request for the resource, the resource manager will decide the priority by using the object of focus passed with each request and comparing it to the object of focus passed in the most recent IResourceManager::SetFocus method.
Requests will be filled in the following order of priority:
- Requests made with exactly the same object of focus as the last SetFocus method.
- Requests whose object of focus shares a common source filter whose object of focus shares a common filter graph.
- Requests in the same process as the focus.
A filter should pass the IUnknown interface of the filter in the pFocusObject parameter. The filter graph manager matches filters to the filter graph and will attempt to trace filters to common source filters when checking objects of focus.
The focus object must be valid for the entire lifetime of the request—until either the IResourceManager::CancelRequest method is called, or the IResourceManager::NotifyRelease method is called with the bStillWant parameter set to FALSE.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | strmif.h (include Dshow.h) |
Library | Strmiids.lib |