DeactivateDevice vs. IOCTL_BUS_DEACTIVATE_CHILD

DeactivateDevice vs. IOCTL_BUS_DEACTIVATE_CHILD

本文关键字:DEACTIVATE CHILD BUS DeactivateDevice IOCTL vs      更新时间:2023-10-16

我试图了解使用DeactivateDevice与IOCTL_BUS_DEACTIVATE_CHILD的优点和缺点,卸载设备驱动程序,在功耗方面。如果我想检查驱动程序1)加载和2)卸载时设备的功耗,在后一种情况下,哪个会给我最合适的值?请建议,让我知道,如果我错过了任何更多的信息需要回答我的问题。TIA。

编辑:此外,如果我们知道上述两种卸载驱动程序的方法在本质上是不同的,那么它可能有助于评估上述问题的答案。

这取决于你想做什么。IOCTL_BUS_ACTIVATE_CHILD仅用于总线驱动程序(USB, PCI等)。上层客户端驱动程序将使用ActivateDeviceEx

IOCTL_BUS_ACTIVATE_CHILD的DDK中没有相应的包装函数

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

你也可以使用SetDevicePower来改变一个给定物理设备的电源状态。(如WiFi、BT、屏幕等)

-PaulH