Microsoft DirectX 9.0

About the DirectShow Quartz.dll Objects

Quartz.dll provides objects that you can use in your Visual Basic-based applications to manage filters and pins. There is an implicit hierarchy among these objects; that is, you must often access the properties of one object to obtain another object. In the following example, an object that appears indented below another indicates that you obtain that lower-level object from a property or method of the higher-level object.

Filter graph object (FilgraphManager) 
  Filter collection (RegFilterCollection, FilterCollection properties) 
    Filter Info object (IFilterInfo or IRegFilterInfo in filter collection) 
      Pin collection (Pins property) 
        Pin Info object (IPinInfo item in pins collection) 

The top-level object in the hierarchy is the filter graph object, or the FilgraphManager object, which represents the entire filter graph. You can access two properties of the FilGraphObject object to obtain collections of filter objects. The FilgraphManager.RegFilterCollection property represents the filters registered with the system. The FilgraphManager.FilterCollection property represents the filters that are part of the filter graph.

As with other collections accessible to Visual Basic, you can access individual items in the collections by using the Visual Basic for each...next statement. The number of items in the collection is indicated by the Count property of the collection.

The filter collection contains IFilterInfo objects. Each IFilterInfo object has a Pins property that represents a collection of pins defined for that filter.

The pins collection contains IPinInfo objects. Each IPinInfo object includes detailed information about that pin, including its media type and its connection to another pin.

To examine a specific pin on a filter in the filter graph, use the following procedure.

  1. Obtain the filter graph object.
  2. Use the FilgraphManager.FilterCollection property of the filter graph object to obtain the collection of filters present in the filter graph.
  3. Search through the filter collection for the specific filter.
  4. Use the IFilterInfo.Pins of the filter object to obtain the collection of pins defined for the filter.
  5. Search through the pins collection for the specific pin.
  6. Examine the properties of the pin object to find connection information and other information for the pin.