IMediaControl Interface

The filter graph exposes the IMediaControl interface to allow applications to control the streaming of media through the filters in the graph. The interface provides methods for running, pausing, and stopping the streaming of data. It also provides applications with a simple method of building graphs to play back media files.

When to Implement

This interface is implemented by the filter graph manager. Implement this only if you are writing a plug-in distributor that needs to export the control methods. The CMediaControl base class implements this interface and handles the IDispatch interface.

When to Use

Use this interface from any application that wants to control the playing of media through DirectShow filter graphs. Applications can also use it to enumerate the filters in the filter graph and all the filters in the registry, to add a source filter to the filter graph, and to instruct the filter graph manager to build a filter graph capable of rendering the media type in a file.


As the IFilterInfo and IAMCollection interfaces are not supported on Windows CE, the get_FilterCollection and get_RegFilterCollection members of the IMediaControl interface are not supported on Windows CE either. Attempting to access either member will generate an E_NOTIMPL error.

Methods in Vtable Order

The following table shows the methods that appear in the Vtable beneath the standard COM methods inherited from IUnknown.

IDispatch method Description
GetTypeInfoCount Determines whether there is type information available for this dispinterface.
GetTypeInfo Retrieves the type information for this dispinterface if GetTypeInfoCount returned successfully.
GetIDsOfNames Converts text names of properties and methods (including arguments) to their corresponding DISPIDs.
Invoke Calls a method or accesses a property in this dispinterface if given a DISPID and any other necessary parameters.
IMediaControl method Description
Run Switches the entire filter graph into running mode.
Pause Pauses all filters in the filter graph.
Stop Switches all filters in the filter graph to a stopped state.
StopWhenReady Waits for an operation such as Pause to complete, allowing filters to queue up data, then stops the filter graph.
GetState Retrieves the state of the filter graph.
RenderFile Adds and connects filters needed to play the specified file.
AddSourceFilter Adds to the graph the source filter that can read the given file name, and returns an IDispatch interface pointer representing the filter object.


DirectShow applications and DirectShow filters have different include file and link library requirements. See Setting Up the Build Environment for more information.

OS Versions: Windows CE 2.12 and later. Version 2.12 requires DXPAK 1.0 or later.

See Also

DirectShow Interfaces

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.