Introduction - If you have any usage issues, please Google them yourself
This program is equivalent to the "Microphone Select" check box of Windows Volume Control for Recording. The Microphone Select control is one of the items of the MIXERCONTROL_CONTROLTYPE_MIXER or MIXERCONTROL_CONTROLTYPE_MUX controls of the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination audio line. It belongs to the list controls (MIXERCONTROL_CT_CLASS_LIST), which provide single-select or multiple-select states for complex audio lines. It uses the MIXERCONTROLDETAILS_BOOLEAN structure to retrieve and set control properties. Whenever the check box is clicked, CSelectDlg::amdSetMicSelectValue() is called to set the Microphone Select value accordingly. The MM_MIXM_CONTROL_CHANGE message is received once the state of the Microphone Select control has changed. In this case, CSelectDlg::amdGetMicSelectValue() is called to retrieve the current value of the Microphone Select control and update the state of the check box accordingly.