I have read all the posts concerning the need to programmatically change the default audio device as well as the various responses. However I did not see a definitive answer for my need which is to develop the USB firmware for a composite device which among other features will render sound but should never be the default speaker device on a PC. The answer hinted at was to make the firmware advertise itself as something other than a speaker. One post suggested being a "Headset" device while another mentions being an "XBOX headset". Here is the problem I am trying to solve. Suppose I am developing a USB based toy gun that comes bundled with a game. When the user plugs in the USB gun, the ultimate user experience would be for the game application to launch and only render gun sounds sent from the game application. Ideally I don't want the USB device to show up as a device that a user can select for as a generic speaker using the control panel applet. However, I do want the game application to be able to discover the device as available for rendering audio using the typical DirectX or other APIs. What is the official way to achieve this functionality? -Chris Perry