开发者

DeactivateDevice vs. IOCTL_BUS_DEACTIVATE_CHILD

I am trying to understand the pros and 开发者_如何学运维cons of using DeactivateDevice vs. IOCTL_BUS_DEACTIVATE_CHILD, to unload a device driver, in terms of power consumption. If I would like to check the power consumption of the device when the driver was 1)loaded and 2)unloaded, which one would give me the most appropriate value in the latter case? Please suggest and let me know if I am missing any more info needed to answer my question. TIA.

EDIT: Also, it might be helpful in evaluating the answer for the above question if we know how the above two ways to unload a driver are fundamentally different.


It depends on what you want to do. IOCTL_BUS_ACTIVATE_CHILD is for bus drivers only (USB, PCI, etc...). upper level client drivers will use ActivateDeviceEx.

There is no equivalent wrapper function in the DDK for IOCTL_BUS_ACTIVATE_CHILD.

see: http://blogs.msdn.com/b/ce_base/archive/2007/04/19/how-bus-drivers-work.aspx

You can also use SetDevicePower to change the power state of a given physical device. (like the WiFi, BT, screen, etc...)

-PaulH

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜