| 
			 
					阅读:2451回复:4
				 
				usb设备自动断电的问题.
					usb设备自动断电,此时系统还是认为usb设备连接
 
							程序一写或读(writefile/reafile),即处于等待 状态...(就是死了..) 有无好方法可解决?  | 
	|
| 
			 沙发# 
								发布于:2001-06-27 19:11				
			
					我想你使用的设备应该是自供电设备吧。
 
							至于你说的死机,我觉得可以这样处理。 可以对你的程序进行相应的处理,如果读写出现错误,直接BREAK即可。 或者再尝试几次后,BREAK.  | 
	|
					
						
  | 
	
| 
			 板凳# 
								发布于:2001-06-28 17:44				
			
					关键是..设备掉电后.
 
							readfile或writefile就处于等待状态.. 如何break他们呢? 杀线程是可以的,但是不稳定....  | 
	|
| 
			 地板# 
								发布于:2001-06-28 23:21				
			
					对usb设备自动断电,最好PC先判断设备是否处于断电状态,如果是,唤醒设备
 
							对于超时处理 见好多人在问这个问题,我贴一段代码出来,希望对大家有帮助,也请各位指正! #define OVERTIME 5 #define RW_BUFFER_SIZE 512 OVERLAPPED Overlapped; char buffer_RW[RW_BUFFER_SIZE]; int i; HANDLE hDevice; /*打开设备hDevice ************* */ Overlapped.Offset=0; Overlapped.OffsetHigh=0; Overlapped.hEvent=CreateEvent(NULL,FALSE,FALSE,NULL); ReadFile(hDevice, buffer_RW, RW_BUFFER_SIZE, &nReturn, &Overlapped); i=WaitForSingleObject(Overlapped.hEvent,OVERTIME); if (i==WAIT_FAILED) return FALSE; //function failure! else if(i==WAIT_TIMEOUT) printf("Operation timeout!\n"); else if(i==WAIT_OBJECT_0) printf("Successfully Read!\n"); else printf("Other failure!"); CloseHandle(Overlapped.hEvent); good luck!  | 
	|
| 
			 地下室# 
								发布于:2001-07-03 16:43				
			
					多谢多谢!				 
							 | 
	|