I just stumbled across Device Power API functions which can be used to enumerate devices capable to wake the system from the sleep state(s) and to enable\disable this feature. I can write an app to do that. Any interested gurus? Update: http://www.mediafire.com/file/ova8c4gxd4o62fy/DeviceWakeUtil.zip/file MD5 hash for zip-file: 16B3FCD69B8413FA4D1826E8F3F468B9 Features: - Utility shows devices that are capable of being programmed to wake the system from a sleep state. - Utility shows both present and absent devices. - Devices can be sorted by name or hardware Id. - No need for elevation. - Built for .Net Framework 4.5.1 and newer. Spoiler
you mean these settings but in API. https://www.tenforums.com/tutorials/63148-allow-prevent-devices-wake-computer-windows-10-a.html
I always go through Device manager after each update to make sure they're all off for ones I want off (I only leave Kb/mouse for wake up). I wondered if any hidden ones are there from device manager, it looks like there might be from the long list shown there. I think I only have network and USB in device manager.
@EdKiefer There is a command "powercfg /devicequery wake_programmable" which should list devices that are user-configurable to wake the system from a sleep state.
Yeah, that matches what I am familiar with in Device Manager. PS C:\WINDOWS\system32> powercfg /devicequery wake_programmable HID-compliant vendor-defined device Logitech G500s Gaming Mouse HID-compliant vendor-defined device (001) Intel(R) 82579V Gigabit Network Connection HID-compliant vendor-defined device (002) HID-compliant consumer control device HID Keyboard Device HID Keyboard Device (001) HID Keyboard Device (002) HID-compliant consumer control device (001) HID-compliant vendor-defined device (003)
Problem with "powercfg -devicequery wake_from_any" command is it actually shows all devices which support wake from device sleep states D1, D2, D3. Devices do not understand system sleep states S0, S1, S2, ... But device sleep states can be mapped to system sleep states and so the query "powercfg -devicequery wake_from_any" show all devices which supports device sleep states and wake from them.
Ok, your app works, I didn't try to change anything as its all good but seems to match what I have set.
I tested it with the help of "powercfg -devicequery wake_armed" command. PS Only bonus of utility - hardware Id along with the name of device. PPS May be I will add another column - whether device is currently present or not.
Maybe you know the answer, when you use device manager> view by the connection for example on kB and mouse, I see a few "HID-compliant vender-defined device" also "HID-compliant consumer control device" are these entries for extra features of the mouse KB? PS; I forgot you can see them in my post above.
When I played Final Fantasy XIII (on PC) without gamepad the game suffered severe stuttering, and the workaround was to disable all these HID-compliant devices. Judging by the fact that keyboard and mouse do still work without those disabled devices all of them are optional.
Funny, you mention disabling them as I was googling them and that was most hits I got on info, many users said disabling to stop stutters in some circumstances. I don't suffer from these but I guess it is easy to see if they interfere with anything.
Well, in case of FFXIII it is understandable - the game is developed with gamepad only. Then it was ported to PC, support for keyboard and mouse was added, but game still prefers gamepad, and the theory was the game constantly polls HID devices in search for gamepad.
So you think if win10 just had a default 2 button mouse and OEM KB, those entries would still be there, maybe they auto load for MS gamepads, but that doesn't sound right to do that, I would think on connecting gamepad those should pop up. I guess it would be easy to test. Edit; I can't disable any of them as I lose function to volume on KB and function Fx keys.
Any chance this could be updated to cover the power management for HD Audio devices? https://www.reddit.com/r/nvidia/comments/arbdfi/fix_for_nvidia_hdmi_audio_timeout_issue_such_as/ so that users don't have to mess around withthe registry to turn off nvidia's power saving (which has issues with the implementation in so many receivers)
I believe the NVCleanstall app does this and MSI mode tweak when installing Nvidia drivers. https://www.techpowerup.com/forums/threads/modify-the-hd-audio-drivers-timeout-values.260363/
After initial research I believe I can do that in this tool https://forums.guru3d.com/threads/utility-to-view-some-info-on-pci-devices.424175/ Update: No, WMI does not implement methods for controlling power management on devices...