IResourceManager interface (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 IResourceManager interface resolves contentions for system resources.

The filter graph manager exposes this interface. Filters can use this interface to request resources that other objects are likely to use. For example, audio renderers use this interface to resolve contentions for the wave-output device, to enable sound to follow focus.

Applications will typically not use this interface.

An object can use this interface to resolve possible contentions between existing resources. The object registers the resource with the interface and then requests it whenever needed. The object should notify the filter graph manager whenever the user focus changes. The filter graph manager can then switch contended resources to the objects that have the focus of the user.

An object that uses this interface must implement the IResourceConsumer interface. IResourceConsumer provides a callback mechanism for the filter graph manager to notify the object when a resource becomes available, or when the object should release a resource that it acquired.

Inheritance

The IResourceManager interface inherits from the IUnknown interface. IResourceManager also has these types of members:

Methods

The IResourceManager interface has these methods.

 
IResourceManager::CancelRequest

The CancelRequest method cancels the request for a resource.
IResourceManager::NotifyAcquire

The NotifyAcquire method notifies the resource manager that an attempt to acquire a resource has completed.
IResourceManager::NotifyRelease

The NotifyRelease method notifies the resource manager that IResourceConsumer has released a resource.
IResourceManager::Register

The Register method registers a single named resource with the resource manager.
IResourceManager::RegisterGroup

The RegisterGroup method registers a named resource group with the resource manager.
IResourceManager::ReleaseFocus

The ReleaseFocus method sets the focus object to NULL in the resource manager if the current focus object is the one specified in this method.
IResourceManager::RequestResource

The RequestResource method requests the use of a given registered resource.
IResourceManager::SetFocus

The SetFocus method notifies the resource manager that a specified object has been given the focus of the user.

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)