I wanted to allow my users to choose the devices that they want to capture from and output to. For this, I used DirectSound device and capture device enumeration functions, obtained GUIDs of all available devices, and arrived at the following lists (DirectSound's grammar preserved):
Primary Sound Driver Speakers (Realtek High Definition Audio) Primary Sound Capture Driver Mic in at front panel (black) (
However when I proceed to create sound capture and output devices, they only work if I supply the GUID of the primary drivers. If I supply Speakers or Mic, the result is always
No sound driver is available for use, or the given GUID is not a valid DirectSound device ID.
My thinking was that since the list of devices is returned to me by DirectSound system, then each GUID should be valid for capture or output, respectively. What am I missing?