lpwnd
驱动小牛
驱动小牛
  • 注册日期2003-03-04
  • 最后登录2012-01-20
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1392回复:5

路过的看一看

楼主#
更多 发布于:2003-05-20 12:55
定义了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的参数有什么问题吗?


  
lpwnd
驱动小牛
驱动小牛
  • 注册日期2003-03-04
  • 最后登录2012-01-20
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-05-22 10:49
挖挖 挖.....
我发现我多了一个星啊!!!!!
希望今天顺利,一定高顶此问题,已经卡这里5天了...
各位多帮忙,,,,
谢谢
lpwnd
驱动小牛
驱动小牛
  • 注册日期2003-03-04
  • 最后登录2012-01-20
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于: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是什么软件,可否介绍一下??
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-05-21 21:36
为什么不用si跟进driver看看呢?
看是不是参数的问题。
lpwnd
驱动小牛
驱动小牛
  • 注册日期2003-03-04
  • 最后登录2012-01-20
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-05-21 14:44
感谢你的恢复,但我的设备是HID类,我用CY AN2131QC 作的USB--SERIAL 的设备,现在其他的环节都正常,现在数据也在IN1BUF里了,就是应用程序读不出来,您是高人,帮忙瞧瞧是怎么会事。

我用的是win2000,还有VB6,有没有可能在98和2000中readfile 会不同呢???
qinxg
驱动小牛
驱动小牛
  • 注册日期2002-11-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分37分
  • 威望27点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-05-21 13:52
是驱动程序的DispatchRead失败,
Irp->IoStatus.Status = STATUS_UNSUCCESSUL;
IoCompleteRequest(Irp,IO_NO_INCREMENT);
游客

返回顶部