Please disregard my earlier post. I finally understand how to use the SetupDiXxx functions to do this. Duh ! I am curious about something though. In the DSEnumCallback function, where does the lpGuid ("GUID that identifies the DirectSound driver") come from ? It appears to be generated dynamically (on WinXPSP1 at least). Is there any documented use for it other than as a parameter to DirectSoundCreate ? >Does anyone know how to correlate a DirectSound device with the PnP ID of the >hardware ? > >I would like my application to run only on certain hardware. > >I know I could test the lpcstrDescription parameter in my DSEnumCallback >routine. For example: > > if (strcmp (lpcstrDescription, "My Device Name")) > { > // don't wanna use this device... > } > >But, I would like to be a bit more certain that it's really the correct >device. So, I'd like to (somehow) get the hardware ID (e.g. >VEN_1234&DEV_5678&SUBSYS_AA55AA55&REV_01) associated with the device and do a >strcmp or regular expression match on that instead. ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/