About The GFX Sample

[This is preliminary documentation and subject to change.]

SUMMARY

The samples in the subdirectories ‘drivers’ and ‘GFXProp’ depend on each other. They all get installed with the same INF file that is in this directory. The cross project header file is in the ‘inc’ directory. It defines the GUIDS that are used in properties and for names etc. You have the following samples:

GFXProp

This sample shows how to write a property dialog DLL that gets loaded by the multimedia control panel when a user selects the ‘properties’ button on the ‘effects’ tab of the ‘Advanced Audio Properties’ dialog that you can open when you click on the advanced button of the audio tab of the multimedia control dialog. With this property dialog the user then can alter all the possible configurations of the GFX. This sample requires the audio GFX filter sample to be installed.

Driver

This is the actual audio GFX filter sample.

GUID DEPENDENCIES BETWEEN THE SAMPLES

GUIDs are in general used to communicate between different modules. For that reason, each module needs to know the exact GUID which causes dependencies. In the GFX projects there are several dependencies because of GUIDs. It is not recommended for example to take the GFXProp sample and modify it for your needs because there are many GUIDs used that need to be unique for each project, and some GUIDs need to be known between projects and some are predefined. Therefore it is a better approach to create a new project and make sure your program code is derived from the sample.

GUIDS THAT NEED TO BE CUSTOMIZED

There are several GUIDs you need to change when you modify the sample for your new project. These are:

·        GUID stored under GFX.DeviceDesc in INF file and GFX.DeviceId in INF file

·        GUID stored under GFX\Userinterface\CLSID in INF and GUID in section GFXPropLib of file GFXprop.idl

·        GFXGUID.ChannelSwap in INF file and msgfx.h file (name of GFX node)

·        GFX.Ref in INF file and msgfx.h

GUIDS THAT NEED TO BE THE SAME ACROSS PROJECTS

The following GUIDs need to be the same in projects (if you change one also change the other). One classic example are property sets (which are GUIDs).

·        GUID stored under GFX\Userinterface\CLSID (GUID for GFX property page object/library) in INF and GUID in section GFXPropLib of file GFXprop.idl

·        GFXGUID.ChannelSwap in INF file and GFXSAMPLE_NODENAME_CHANNEL_SWAP in file msgfx.h

·        GFX.Ref in INF file and KSNAME_MsGfxSample in file msgfx.h

GUIDS THE VC6++ WIZARD TAKES CARE OF WHEN YOU CREATE A NEW ATL PROJECT

There are also several GUIDs that the ATL Wizard creates when you create a new ATL project. If you are going to modify the GFXProp sample then you will need to change those GUIDs manually:

·        In file GFXProperty.rgs the CLSID for the "GFXProperty Class" 3 times,

·        the same GUID is in file GFXProp.idl under “GFXPropPages

·        In file GFXPropPages.rgs the CLSID for the "GFXPropPages Class" 3 times,

·        the same GUID is in file GFXProp.idl under “GFXPROPLib” and the INF file stored under GFX\Unserinterface\CLSID.

·        In file GFXPropPages.rgs the “TypeLib” GUID which is also used in GFXProp.idl.

HOW TO INSTALL THE SAMPLE

In order to install the sample you need to right click on the INF file and choose ‘Install’. The system will then copy the INF file to the “Program Files\DDK” directory and a few seconds later execute the INF file from there installing the GFX filter and the property DLL.

You need to open the ‘Advanced Audio Properties’ of your USB speakers and click the effects tab (Control Panel -> Sounds and Audio Devices -> Audio tab -> Select USB speakers ->Advanced button -> Effects tab). If you have Microsoft DSS 80 USB speakers then you will see a combo box where you can select and apply the GFX. If you do not have those USB speakers then you need to modify the INF file before installation and replace the PnP ID of the Microsoft DSS 80 USB speakers with the PnP ID of the USB speakers that you have.

You will only be able to install the GFX once on a given test machine and you will not be able to uninstall the GFX once it’s installed.

ADDITIONAL INFORMATION TO THE INF FILE

The INF file will try to install the audio GFX sample together with the property dialog on Microsoft® Windows® 2000 (and later) operating systems. The sample however will only work on Microsoft Windows XP (and later).

Top of page

 

 

 
 

© Microsoft Corporation 2001