Share via


IResourceManager Interface

 
Microsoft DirectShow 9.0

IResourceManager Interface

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.

In addition to the methods inherited from IUnknown, the IResourceConsumer interface exposes the following methods.

Method Description
Register Registers a single named resource with the resource manager.
RegisterGroup Registers a named resource group with the resource manager.
RequestResource Requests the use of a given registered resource.
NotifyAcquire Notifies the resource manager that an attempt to acquire a resource has completed.
NotifyRelease Notifies the resource manager that a resource consumer has released a resource.
CancelRequest Cancels the request for a resource.
SetFocus Notifies the resource manager that a specified object has been given the focus of the user.
ReleaseFocus Sets the focus object to NULL in the resource manager if the object of the current focus object is the one specified in this method.

Requirements

Header: Declared in Strmif.h; include Dshow.h.

Library: Use Strmiids.lib.