tqijin
驱动小牛
驱动小牛
  • 注册日期2006-07-04
  • 最后登录2013-11-21
  • 粉丝3
  • 关注0
  • 积分31分
  • 威望1060点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
阅读:1948回复:5

版主求助,USB设备无法进入待机状态,好奇怪

楼主#
更多 发布于:2010-01-19 18:16
我做了一个USB设备驱动,实现数据的读写,
现在出现一个好奇怪问题:当设备被上层应用程序打开或者读写操作时,不关闭上层应用程序直接点击电脑待机按钮,
弹出提示“设备的驱动器正防止机器进入待机状态。请关闭所有的应用程序,再试一次。如果问题任然存在,您可能需要更新这个启动器”。
我需要的是即使上层应用程序运行时(对设备进行操作),点击“待机”,电脑还能正常进入待机状态。
顺便说一下,当上层应用程序不打开,电脑可以正常进入待机状态。

提前谢谢热心人的帮助。
bmwbk
驱动中牛
驱动中牛
  • 注册日期2004-05-30
  • 最后登录2015-05-21
  • 粉丝1
  • 关注0
  • 积分160分
  • 威望2759点
  • 贡献值1点
  • 好评度34点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-01-19 20:32
需要查看你的代码实现,如果需要驱动协助,请联系 www.drivercoding.com
DriverCoding Technologies, Inc. support@drivercoding.com http://www.drivercoding.com
tqijin
驱动小牛
驱动小牛
  • 注册日期2006-07-04
  • 最后登录2013-11-21
  • 粉丝3
  • 关注0
  • 积分31分
  • 威望1060点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-01-28 15:03
问一下楼上的,请求协助你们要收费吗?呵呵呵
jally76
驱动牛犊
驱动牛犊
  • 注册日期2005-04-28
  • 最后登录2010-11-23
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望590点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-01-31 23:19
设备驱动的电源管理模块有没有自己实现?
spark_zhan
驱动牛犊
驱动牛犊
  • 注册日期2007-06-20
  • 最后登录2011-07-18
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望97点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2010-02-03 17:37
在电源管理里面,把pending的IRP cancel掉,把打开的句柄关上。
xzyee
驱动牛犊
驱动牛犊
  • 注册日期2005-08-08
  • 最后登录2010-07-01
  • 粉丝0
  • 关注0
  • 积分48分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2010-02-19 17:56
似乎应当实现自己的设备电源派遣函数NTSTATUS DispatchPower(PDEVICE_OBJECT fdo, PIRP Irp),似乎是主机发送 IRP_MN_QUERY_POWER查询设备是否能够进入状态,你没有实现这个函数,导致这个请求被failed,主机认为设备不让其进入待机状态,所以不让你挂起。在设备电源派遣函数NTSTATUS DispatchPower中要1、stalling your queues;2、waiting for all current substantive IRPs to finish或者调用abort pipe什么的;3、响应IRP_MN_QUERY_POWER(需要返回 STATUS_SUCCESS)和IRP_MN_SET_POWER,如果对于Set Power操作,还存储当前的device context information。
游客

返回顶部