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.
|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.|
|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.
Last updated on Wednesday, April 13, 2005
© 2005 Microsoft Corporation. All rights reserved.