szzgq
驱动牛犊
驱动牛犊
  • 注册日期2001-08-17
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1341回复:2

请问斑竹!如何使驱动程序中的IOCTL发送到开发板

楼主#
更多 发布于:2002-04-22 17:28
我在用户程序中使用DeviceIoControl将一个自定义的IOCTL
发送给了驱动程序,通过softice跟踪,驱动程序接受到了
这个IOCTL,然后我调用UsbBuildVendorRequest函数建立了一个
URB(我不能肯定调用函数时参数使用正确,请斑竹解释一下各参数),然后调用IoBuildDeviceIoControlRequest函数建立了IRP,
并用IoCallDriver将它下发,但开发板好像未接到说传的数据。
请斑竹指点!!!

szzgq
驱动牛犊
驱动牛犊
  • 注册日期2001-08-17
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-23 09:38
调用IoCallDriver后,返回值是STATUS_PENDING,
这该如何是好!!!
我现在遇到的一个新情况是上电后,第一次可以把IOCTL
发送到开发板,但第二次再发送就没反应了。为何???

[编辑 -  4/23/02 作者: szzgq]
LIUTANG
驱动大牛
驱动大牛
  • 注册日期2001-03-30
  • 最后登录2020-12-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望58点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-04-22 18:41
遇到这种情况你可以看一下IoCallDriver的返回值,看是不是成功,如果不是可以由返回值知道为什么错了,方法是在DDK下有一个文件叫NTSTATUS.CPP或NTSTATUS.h(忘了具体叫什么名字了,反正类似,去找一下对应的错误号,由他的注释可以知道错误的原因。
游客

返回顶部