阅读:1154回复:3
PowerStateType==>到底是为什么?跪求高手解决。
NTSTATUS PowerIdleDevice::OnDeviceSleep(KIrp I)
{ NTSTATUS status = STATUS_SUCCESS; t << "OnDeviceSleep\n"; // TODO: Service the device. // Save any context to the hardware device that will be required // during a power up request. See the OnDevicePowerUp function. // Do NOT complete this IRP. The base class handles forwarding // this IRP to the PDO. // switch ( I.PowerStateType() ) { case SystemPowerState: t << "SystemPowerState " << SystemPowerStateName(I.PowerStateSetting().SystemState) << "\n" ; break; case DevicePowerState: t << "DevicePowerState " << DevicePowerStateName(I.PowerStateSetting().DeviceState) << "\n" ; break; } DisableIdleDetection(); return status; } 上面是武安河的书上的一段程序。我就是不明白PowerStateType(),SystemPowerState和DevicePowerState这几个东东从哪里出来的.是kirp封装的结构吗?我收索了winddk help,driverworks help和DS help都没有找到这个东东。 请高手指教。在线等 ...... :P |
|
沙发#
发布于:2004-07-07 13:47
欢迎回复.急!
|
|
板凳#
发布于:2004-07-08 11:22
PowerStateType是KIRP的成员函数,返回的值是下面 enum 值之一, POWER_STATE_TYPE定义在DDK中。
typedef enum _POWER_STATE_TYPE { SystemPowerState = 0, DevicePowerState } POWER_STATE_TYPE, *PPOWER_STATE_TYPE; |
|
|
地板#
发布于:2004-07-08 13:21
typedef enum _POWER_STATE_TYPE
{ SystemPowerState = 0, DevicePowerState } POWER_STATE_TYPE, *PPOWER_STATE_TYPE; 请问上面这段是在什么地方找到的? 我在xpddk的帮助文件没有找到. 可能实在 ntddk.h 或者wdm.h 里面. |
|