Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
The IDistributorNotifyinterface is an optional interface for use by plug-in distributors to notify them of changes in the filter graph state.
When to Implement
Implement this interface when writing a plug-in distributor (PID) that is aggregated with the filter graph manager if you want the PID to receive notifications of control and changes in the composition of filter graphs.
PIDs may often use methods on the filter graph manager. During a call to an IDistributorNotifymethod, do not take any lock that may be held by another code path that calls the filter graph manager. To do so could result in a deadlock.
When to Use
The filter graph manager queries for this interface on any plug-in distributors that it aggregates. If found, it calls the appropriate Run, Pause, or SetSyncSourcemethod before calling them on the IBaseFilterinterface of each filter. It calls the NotifyGraphChangemethod whenever a filter is added or removed, or connections are changed.
Methods in Vtable Order
IUnknown methods | Description |
---|---|
QueryInterface | Returns pointers to supported interfaces. |
AddRef | Increments the reference count. |
Release | Decrements the reference count. |
IDistributorNotify methods | Description |
Stop | Called when the filter graph is entering a stopped state. |
Pause | Called when the filter graph is entering a paused state. |
Run | Called when the filter graph is entering a running state. |
SetSyncSource | Called when a new clock is registered. |
NotifyGraphChange | Called when the set of filters in the filter graph change or their connections change. |