I'm writing a Windows application in C. I'd like to access programmatically to the properties that are shown in the captures I've attached to this post.

First of all I'd like to check how many options there are in order to play or to record sound. As you can see in the captures I've attached, in my PC I've got:

Play Control:
- Play Control
- Wave/DirectSound
- MIDI
- CD Audio
- Line-In2/Microphone
- Line-In

Record Control:
- MIDI
- CD Audio
- Line-In2/Microphone
- Line-In
- Microphone

How can I retrieve this information programmatically? And, how can I mute some options or change the volume, for example? If I'd want to record sound from the microphone, how could I mute all the other record options and adjust the volumen of the microphone in order to record sound?

I guess I must use the Windows Multimedia API (http://msdn.microsoft.com/library/en...dio_mixers.asp) but I'm confused about the mixers, controls, lines, etc. concepts. Is there any simple example in order to start doing things like that?