sailor19840309
驱动牛犊
驱动牛犊
  • 注册日期2005-03-23
  • 最后登录2005-05-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1580回复:4

关于USB读写

楼主#
更多 发布于:2005-04-25 14:50
我想请问一下,在DevicIoControl中,第二个参数(控制码)应该怎样设定,另外数据缓冲区的指针和大小应该根据什么来设置--是驱动程序已经设定好的还是需要自己来设置呢.
sailor19840309
驱动牛犊
驱动牛犊
  • 注册日期2005-03-23
  • 最后登录2005-05-31
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-04-27 12:02
那我还想问以下各位,如何将#define 定义的控制码和应用程序结合起来,对读写U盘而言,数据缓冲区的大小应该设置为多少.
lvwj
驱动老牛
驱动老牛
  • 注册日期2001-08-21
  • 最后登录2021-01-31
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望181点
  • 贡献值0点
  • 好评度52点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2005-04-26 15:11
自己定义控制码。根据你自己数据输出的需要设置输入/输出缓冲区。看 msdn 的 deviceioXXX 函数,讲得很清楚。vc 的头文件有对控制码的定义格式,以及宏。读一遍就清楚了。
www.bjjcz.com
searchone
驱动牛犊
驱动牛犊
  • 注册日期2003-12-31
  • 最后登录2005-05-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-04-26 13:34
第二个参数(控制码)可以在向导生成时就添加进去的.就是哪个IOCL_800的什么的吧.当然你也可以通过在某个.h文件中用
#define (控制码) 数字
的形式自己来,只要和你的应用程序结合就可以了.

数据缓冲区的指针和大小在你应用程序调用驱动的时候由应用程序给出,也就是那个DeviceIOContrl的函数中的参数.
jgw2008
驱动小牛
驱动小牛
  • 注册日期2004-12-16
  • 最后登录2005-12-20
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望8点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-04-26 13:29
Before you use the DeviceIoControl,you should make clearly what function should perform.
Then choose the proper \"control code\".The information on \"control code\" you can refer the MSDN.
The buffer point and length of buffer in the DeviceIoControl are set by yourself. In the driver code, it exchange data by MDL(memory descriptor list) between use mode and kernel mode.

My msn: jgw2008@hotmail.com
Best Wishes to you! MSN: jgw2008@hotmail.com E-Mail: jgw2008@126.com
游客

返回顶部