Installing a Device-Specific GFX Filter

In Windows Server 2003 and Windows XP, the operating system provides a setup tool that enables automatic loading and connection of a vendor-supplied global effect that is designed for a specific audio device.

You can access the global effect through the Multimedia applet in Control Panel. The Multimedia applet can do the following:

  • Enumerate audio devices.

  • Indicate the GFX that is currently applied to each audio device.

  • Enumerate the GFX filters that are available for each audio device.

  • Select which GFX filter is applied to an audio device.

  • Invoke a vendor-supplied GFX-specific user interface for each GFX instance.

  • Remove GFX filters from an audio graph.

When the driver is installed, the installation process loads information about the proprietary GFX filter factory of the vendor into a registry path that has the following format:

<DIRegKey> \Gfx\AutoLoad\ <GfxAutoLoadInst>

In this path, DIRegKey represents the subpath for the filter's KSCATEGORY_AUDIO device-interface registry key, Gfx and AutoLoad are both literal subkey names, and GfxAutoLoadInst represents the subkey that contains the information that the operating system needs to automatically load the GFX filter factory.

The vendor supplies an INF file that installs the GFX filter factory. This file uses an INF AddReg directive to add the registry subkey AutoLoad to the device's Gfx key. Under the AutoLoad key, the INF file adds one or more GfxAutoLoadInst subkeys and assigns arbitrary names to these subkeys. Typically these subkeys are named "0," "1," "2," and so on. Most GFX drivers require only one subkey and assign the name "0" to that subkey. The GfxAutoLoadInst subkey contains the values that are shown in the following table.

Value name Description
[Data Type]
NewAutoLoad
[REG_DWORD]

Indicates whether the audio system has processed this GfxAutoLoadInst registry key.

1 = Audio system needs to process this registry key.
0 = Audio system has processed this registry key.
The AddReg directive in the GFX driver's INF file sets this value to one. The directives in the add-registry-section use the FLG_ADDREG_NOCLOBBER flag so that the audio system does not reprocess the registry entries if the GFX driver is only being updated.

After the audio system processes this registry information, it sets this value to zero.

Type
[REG_DWORD]

Specifies whether the system should load the GFX filter as a render or capture GFX.

1 = render
2 = capture

HardwareId
[REG_MULTI_SZ]

The Plug and Play (PnP) device IDs of the hardware devices that expose the rendering or capture device interfaces through which this GFX filter is managed.

ReferenceString
[REG_SZ]

The reference string that is used by the hardware device to call IoRegisterDeviceInterface when registering the rendering or capture device interface through which this GFX filter is managed.

 

The GfxAutoLoadInst key should also contain a subkey that is named UserInterface\CLSID. This subkey contains the information that the operating system needs to identify the vendor's GFX user interface. The subkey's value is shown in the table below.

Value name Description
[Data Type]

(Default)
[REG_SZ]

String representation of the CLSID of the COM object that implements the GFX-specific user interface.

 

Given the registry information that is described in the previous tables, the operating system can find the device interfaces that it needs to load the hardware-specific GFX filter.

 

 

Send comments about this topic to Microsoft

Show: