¿Cómo puedo controlar de manera programática las configuraciones de aumento de micrófono y micrófono en Win7 desde C #?

Windows 7 tiene algunas configuraciones de audio nuevas que no he podido controlar desde mi aplicación C #. Específicamente, dentro de las propiedades de entrada (micrófono), hay una pestaña de niveles que contiene controles deslizantes de aumento de micrófono y micrófono, y una checkbox / silencio de silencio de micrófono.

Necesito asegurar que el micrófono no esté silenciado programáticamente, pero no he encontrado las API necesarias para leer o configurar los valores.

No pude encontrar una API que proporcionara control sobre estos niveles de volumen específicos. Agregue nuevas respuestas si están disponibles y con mucho gusto aceptaré una solución que funcione.

Puede usar una biblioteca muy útil construida alrededor del mezclador de ventanas de Caster Tiu desde http://www.codeproject.com/KB/audio-video/AudioLib.aspx?msg=1323850

Según la documentación en esta página:

Se puede acceder a controles específicos como Fadder, Microphone Boost, graves, agudos, etc. a través del objeto MixerControl utilizando las propiedades ValueAsSigned, ValueAsUignsigned y ValueAsBoolean, pero no se implementan como propiedades estándar porque no pertenecen a todos los controles.

Hay un ejemplo de WalkTreeBackwardsFromPart que muestra cómo enumerar los puntos finales de audio e imprimir su volumen actual. Puede modificar el código para desactivar el mezclador analógico mediante IDeviceTopology

Windows debe desactivar el volumen de software al comienzo de una sesión de captura. ¿Tiene su dispositivo un volumen de hardware?

La interfaz IAudioEndpointVolume podría funcionar para usted. Tiene funciones para obtener / configurar el estado de silencio y los niveles de volumen para un dispositivo de grabación o reproducción.

Referencia: http://msdn.microsoft.com/en-us/library/windows/desktop/dd370892(v=vs.85).aspx