asong
驱动牛犊
驱动牛犊
  • 注册日期2004-06-30
  • 最后登录2012-01-11
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1119回复:3

PowerStateType==>到底是为什么?跪求高手解决。

楼主#
更多 发布于:2004-07-07 08:42
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
asong
驱动牛犊
驱动牛犊
  • 注册日期2004-06-30
  • 最后登录2012-01-11
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-07 13:47
欢迎回复.急!
seaquester
驱动大牛
驱动大牛
  • 注册日期2002-05-22
  • 最后登录2016-06-16
  • 粉丝0
  • 关注0
  • 积分500分
  • 威望115点
  • 贡献值0点
  • 好评度107点
  • 原创分0分
  • 专家分52分
板凳#
发布于: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;

八风舞遥翩,九野弄清音。 鸣高常向月,善舞不迎人。
asong
驱动牛犊
驱动牛犊
  • 注册日期2004-06-30
  • 最后登录2012-01-11
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-07-08 13:21
typedef enum _POWER_STATE_TYPE
{
SystemPowerState = 0,
DevicePowerState
} POWER_STATE_TYPE, *PPOWER_STATE_TYPE;

请问上面这段是在什么地方找到的?
我在xpddk的帮助文件没有找到.
可能实在
ntddk.h 或者wdm.h
里面.
游客

返回顶部