lily311
驱动小牛
驱动小牛
  • 注册日期2002-08-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望26点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
阅读:1508回复:2

xugy5867的USBD12驱动程序的问题

楼主#
更多 发布于:2002-10-18 11:51
谢谢xugy5867慷慨地提供资料先! 所以我才有可能在这里同大家讨论这个程序.
但是遇到了一些问题:

1)USB设备是即插即用的,但在WIN2000下直接插拔D12的测试板会引起系统故障甚至是崩溃.不知大家有没有遇到这个问题.
会不会是驱动程序对即插即用支持的不是很好呢?

2)IOCTL的定义中:
#define D12_IOCTL_INDEX  0x0000
#define IOCTL_D12_GET_CONFIG_DESCRIPTOR     CTL_CODE(FILE_DEVICE_UNKNOWN,  \\
                                                D12_IOCTL_INDEX,\\
                                                   METHOD_BUFFERED,  \\
                                                   FILE_ANY_ACCESS)
......
据我所知,CTL_CODE的第二个参数应该从0x800开始.为什么用0x0000呢?有什么特别的深意么?

3)还是IOCTL的定义中:
#define FILE_DEVICE_USB_SCAN 0x8000
#define IOCTL_INDEX 0x0800
#define IOCTL_READ_REGISTERS            CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+3,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_WRITE_REGISTERS           CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+4,METHOD_BUFFERED,FILE_ANY_ACCESS)
......
为什么要用FILE_DEVICE_USB_SCAN(0x8000),而不用FILE_DEVICE_UNKNOWN?


[编辑 -  10/18/02 by  lily311]
OS_Dev
驱动中牛
驱动中牛
  • 注册日期2002-01-09
  • 最后登录2004-03-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-10-19 13:02
系统崩溃一般是你的驱动卸载部分没有写好,有bug

没有什么深意,有些代码风格不是很好,没有按规定做,这样一般运行也没有问题,但是最好按照microsoft推荐的来


取决于你的设备属于什么类型,一般如果不属于标准类型的就用UNKNOWN,但是用USB_SCAN估计问题也不大吧(我没有这样做过)

I know nothing!
xugy5867
驱动牛犊
驱动牛犊
  • 注册日期2002-07-03
  • 最后登录2018-05-29
  • 粉丝1
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-10-19 12:52
这个我也不是很清楚,我是在98下用的,没有在2000下试过。很多东西的理解也不是很清楚,经常照猫画虎,尤其是驱动这一块,是我的弱项,希望大家多指教,
游客

返回顶部