阅读:2320回复: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
多谢多谢!
|
|