| 
			 
					阅读:2200回复:5
				 
				版主求助,USB设备无法进入待机状态,好奇怪
					我做了一个USB设备驱动,实现数据的读写, 
							现在出现一个好奇怪问题:当设备被上层应用程序打开或者读写操作时,不关闭上层应用程序直接点击电脑待机按钮, 弹出提示“设备的驱动器正防止机器进入待机状态。请关闭所有的应用程序,再试一次。如果问题任然存在,您可能需要更新这个启动器”。 我需要的是即使上层应用程序运行时(对设备进行操作),点击“待机”,电脑还能正常进入待机状态。 顺便说一下,当上层应用程序不打开,电脑可以正常进入待机状态。 提前谢谢热心人的帮助。  | 
	|
| 
			 沙发# 
								发布于: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。				 
							 | 
	|
| 
			 板凳# 
								发布于:2010-02-03 17:37				
			
					在电源管理里面,把pending的IRP cancel掉,把打开的句柄关上。				 
							 | 
	|
| 
			 地板# 
								发布于:2010-01-31 23:19				
			
					设备驱动的电源管理模块有没有自己实现?				 
							 | 
	|
| 
			 地下室# 
								发布于:2010-01-28 15:03				
			
					问一下楼上的,请求协助你们要收费吗?呵呵呵				 
							 | 
	|
| 
			 5楼# 
								发布于:2010-01-19 20:32				
			
					需要查看你的代码实现,如果需要驱动协助,请联系 www.drivercoding.com				 
							 | 
	|
					
						
  |