#include void SetDigitalOut(bool bEnabled) { // Open the mixer device and grab its handle HMIXER hMixer; if (mixerOpen(&hMixer, 0, 0, 0, 0) != MMSYSERR_NOERROR) return; MIXERCONTROLDETAILS_BOOLEAN mcdEnabled; mcdEnabled.fValue = bEnabled; MIXERCONTROLDETAILS mixerControl; ZeroMemory((void *)&mixerControl, sizeof(MIXERCONTROLDETAILS)); mixerControl.cbStruct = sizeof(MIXERCONTROLDETAILS); mixerControl.dwControlID = 5; // Hardcoded control ID for Creative X-Fi mixerControl.cChannels = 1; mixerControl.cMultipleItems = 0; mixerControl.paDetails = &mcdEnabled; mixerControl.cbDetails = sizeof(MIXERCONTROLDETAILS); mixerSetControlDetails((HMIXEROBJ)hMixer, &mixerControl, MIXER_SETCONTROLDETAILSF_VALUE); mixerClose(hMixer); } void main() { SetDigitalOut(FALSE); SetDigitalOut(TRUE); }