Jump to content
fisofo

After Win10 Anniversary update, SetDefaultEndpoint (change default sound device) is no longer working

Recommended Posts

fisofo

Not sure if anyone knows what might be up, but I've looked around and haven't found anything yet. A snippet of the code in question is this:

Func _SwitchToDevice($sId)
    Local $oPolicyConfig = ObjCreateInterface($sCLSID_CPolicyConfigClient, $sIID_IPolicyConfig, $tagIPolicyConfig)

    Local $hResult
    $hResult = $oPolicyConfig.SetDefaultEndpoint($sId, $eConsole)
    If $hResult = $S_OK Then $hResult = $oPolicyConfig.SetDefaultEndpoint($sId, $eCommunications)

    Return $hResult = $S_OK
EndFunc   ;==>_SwitchToDevice

It *looks* like it is working, but the default sound device doesn't actually change. I'll attach my source code for anyone that wants to review it/help out. Code is courtesy Trancexx and KaFu.

SetSoundDevice.zip

Share this post


Link to post
Share on other sites
trancexx
On ‎7‎.‎8‎.‎2016‎. at 4:28 AM, fisofo said:

Not sure if anyone knows what might be up, but I've looked around and haven't found anything yet. A snippet of the code in question is this:

Func _SwitchToDevice($sId)
    Local $oPolicyConfig = ObjCreateInterface($sCLSID_CPolicyConfigClient, $sIID_IPolicyConfig, $tagIPolicyConfig)

    Local $hResult
    $hResult = $oPolicyConfig.SetDefaultEndpoint($sId, $eConsole)
    If $hResult = $S_OK Then $hResult = $oPolicyConfig.SetDefaultEndpoint($sId, $eCommunications)

    Return $hResult = $S_OK
EndFunc   ;==>_SwitchToDevice

It *looks* like it is working, but the default sound device doesn't actually change. I'll attach my source code for anyone that wants to review it/help out. Code is courtesy Trancexx and KaFu.

SetSoundDevice.zip

Try changing IID_IPolicyConfig:

Global Const $sIID_IPolicyConfig = "{6be54be8-a068-4875-a49d-0c2966473b11}"

 


♡♡♡

.

eMyvnE

Share this post


Link to post
Share on other sites
fisofo
On 8/9/2016 at 10:25 AM, trancexx said:

Try changing IID_IPolicyConfig:

Global Const $sIID_IPolicyConfig = "{6be54be8-a068-4875-a49d-0c2966473b11}"

 

Thanks for the response and sorry for the delay! I expected an email notice and didn't get one.

In any case, doing that causes an error in the SetDefaultEndpoint line of "Variable must be of type "Object""

Prior, I had the variable set like this:

Global Const $sIID_IPolicyConfig = "{00000000-0000-0000-C000-000000000046}"

Any ideas?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×