mute support in Win10

"diamantsus-/[email protected] [power-pro]" <[email protected]> 03 Jun 2019 19:07:06 +0000
Newsgroups gmane.comp.windows.power-pro
Message-ID <[email protected]>
Do you can to update mute function in unicode version to support Win10?

int ToggleMute()
{
    BOOL bMute;

    if(OSVersion == 5) 
    {
        Mixer mixer;

        if( mixer.init() && mixer.GetMuteControl() )
        {
            LONG currValue;
            mixer.GetMuteValue(&currValue);
            if(currValue==1){
                mixer.SetMute(false);
            } else {
                mixer.SetMute(true);
            }
            mixer.close();
        }

    } else     {
        CoInitialize(NULL);

        IMMDeviceEnumerator* deviceEnumerator = NULL;
        if(CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL, CLSCTX_INPROC_SERVER, __uuidof(IMMDeviceEnumerator), (LPVOID *)&deviceEnumerator) == S_OK) {
            IMMDevice* defaultDevice = NULL;
            if(deviceEnumerator->GetDefaultAudioEndpoint(eRender, eConsole, &defaultDevice) == S_OK) {
                IAudioEndpointVolume* endpointVolume = NULL;
                if(defaultDevice->Activate(__uuidof(IAudioEndpointVolume), CLSCTX_INPROC_SERVER, NULL, (LPVOID *)&endpointVolume) == S_OK) {
                    endpointVolume->GetMute(&bMute);
                    endpointVolume->SetMute(!bMute, NULL);
                    endpointVolume->Release();
                }
                defaultDevice->Release();
            }
            deviceEnumerator->Release();
        }

        CoUninitialize();
    }
    
    return TRUE;
}