阅读:1390回复:5
路过的看一看
定义了IN1 和OUT2两个端点,找到设备后,WRITEFILE成功,READFILE 为什么失败,返回0。
怎么会事呀????? Result = ReadFile _ (HidDevice, _ ReadBuffer(0), _ CLng(Capabilities.OutputReportByteLength), _ NumberOfBytesRead, _ 0) 高人们请看一下,为什么result的值是零, 而下边的些却能成功,能返回1呢???? Result = WriteFile _ (HidDevice, _ SendBuffer(0), _ CLng(Capabilities.OutputReportByteLength), _ NumberOfBytesWritten, _ 0) 谁能告诉我readfile的参数有什么问题吗? |
|
沙发#
发布于:2003-05-21 13:52
是驱动程序的DispatchRead失败,
Irp->IoStatus.Status = STATUS_UNSUCCESSUL; IoCompleteRequest(Irp,IO_NO_INCREMENT); |
|
板凳#
发布于:2003-05-21 14:44
感谢你的恢复,但我的设备是HID类,我用CY AN2131QC 作的USB--SERIAL 的设备,现在其他的环节都正常,现在数据也在IN1BUF里了,就是应用程序读不出来,您是高人,帮忙瞧瞧是怎么会事。
我用的是win2000,还有VB6,有没有可能在98和2000中readfile 会不同呢??? |
|
地板#
发布于:2003-05-21 21:36
为什么不用si跟进driver看看呢?
看是不是参数的问题。 |
|
地下室#
发布于:2003-05-22 10:46
感谢感谢,
HID的驱动是操作系统里的,我没动过,我用的是BUSHOUND, 开机,如下 Dev Phase Data Info Time Cmd.Phase.Ofs --- ----- ------------------------- ------------- ----- ------------------ 9 CTL 80 06 00 01 - 00 00 12 00 GET DESCRIPTR 0us 1.1.0 9 DI 12 01 10 01 - 00 00 00 40 .......@ 3.4ms 1.2.0 b4 04 02 55 - 01 00 01 02 ...U.... 1.2.8 00 01 .. 1.2.16 9 CTL 80 06 00 02 - 00 00 09 00 GET DESCRIPTR 50us 2.1.0 9 DI 09 02 4d 00 - 01 01 00 80 ..M..... 3.9ms 2.2.0 fa . 2.2.8 9 CTL 80 06 00 02 - 00 00 4d 00 GET DESCRIPTR 35us 3.1.0 9 DI 09 02 4d 00 - 01 01 00 80 ..M..... 4.9ms 3.2.0 fa 09 04 00 - 00 02 03 00 ........ 3.2.8 00 05 09 21 - 10 01 00 01 ...!.... 3.2.16 22 24 00 07 - 05 81 03 40 \"$.....@ 3.2.24 9 CTL 00 09 01 00 - 00 00 00 00 SET CONFIG 34us 4.1.0 9 CTL 21 0a 00 00 - 00 00 00 00 CLASS 3.3ms 5.1.0 9 USTS 04 00 00 80 pid stalled 2.6ms 5.2.0 9 CTL 80 06 00 22 - 00 00 64 00 GET DESCRIPTR 81us 6.1.0 9 DI 06 a0 ff 09 - 01 a1 01 09 ........ 4.9ms 6.2.0 01 15 00 25 - ff 75 08 95 ...%.u.. 6.2.8 40 81 02 09 - 02 75 08 95 @....u.. 6.2.16 40 91 02 09 - 03 75 08 95 @....u.. 6.2.24 我的应用程序先通过setfeature设置拨特率,如下: 9 CTL 21 09 00 03 - 00 00 05 00 CLASS 2.7mn 7.1.0 9 DO b2 25 00 00 - 03 .%... 3.5ms 7.2.0 然后 当writefile时,例如写一个字节cc到OUT2BUF,如下:(我在写和读之前为了保证正确,都先调用setfeature) 9 CTL 21 09 00 03 - 00 00 05 00 CLASS 1.5mn 8.1.0 9 DO b2 25 00 00 - 03 .%... 4.1ms 8.2.0 9 DO 30 01 cc 00 - 00 00 00 00 0....... 1.9ms 9.1.0 00 00 00 00 - 00 00 00 00 ........ 9.1.8 00 00 00 00 - 00 00 00 00 ........ 9.1.16 00 00 00 00 - 00 00 00 00 ........ 9.1.24 但是读的时候,却只执行了setfeature,没有把数据从IN1BUF中读出来,readfile返回0,而且我在古件中调试了,确实有数据在IN1BUF中. 请大虾发表看法,还有不知大虾所说之si是什么软件,可否介绍一下?? |
|
5楼#
发布于:2003-05-22 10:49
挖挖 挖.....
我发现我多了一个星啊!!!!! 希望今天顺利,一定高顶此问题,已经卡这里5天了... 各位多帮忙,,,, 谢谢 |
|