Vendor's GFX User Interface

A vendor who provides a GFX filter should also provide a COM-based user interface that supports the ISpecifyPropertyPages interface. For information about this interface, see ISpecifyPropertyPages.

The CLSID of this COM object is specified in the GFX driver's installation INF file. For more information, see the description of the UserInterface/CLSID subkey in the Installing a Device-Specific GFX Filter topic.

In addition to providing the user interface, the vendor should provide property page COM objects that implement the IPropertyPage interface for each property page CLSID that is returned by the UI object's ISpecifyPropertyPages interface. Vendors can choose appropriate ways to implement, install, and register these COM objects. For information about the IPropertyPage interface, see the Windows SDK documentation.

The Multimedia applet in Control Panel passes a data object to the property pages by calling IPropertyPage::SetObjects. The vendor's property page object can call IDataObject::GetData with the medium type specified as TYMED_HGLOBAL. This call creates a new handle to the vendor's GFX filter. The vendor's property page objects can use this handle to access the GFX filter's KS properties, events, and methods. The property page object must make sure that the handle is eventually closed by calling CloseHandle. For more information about IDataObject::GetData and CloseHandle, see the Windows SDK documentation.