rogerwoo
驱动牛犊
驱动牛犊
  • 注册日期2004-11-30
  • 最后登录2006-07-04
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2251回复:6

高分请教ntStatus为c0000010(STATUS_INVALID_DEVICE_REQUEST)的原因?

楼主#
更多 发布于:2005-01-05 15:26
先形成一个读取device descriptor的urb:
   UsbBuildGetDescriptorRequest(urb,
                               (USHORT) sizeof (struct _URB_CONTROL_DESCRIPTOR_REQUEST),
                                USB_DEVICE_DESCRIPTOR_TYPE,
                                0,
                                0,
                                deviceDescriptor,
                                NULL,
                                siz,
                                NULL);
然后送往底层驱动处理时出现c0000010(STATUS_INVALID_DEVICE_REQUEST)的错误.
 irp = IoBuildDeviceIoControlRequest(IOCTL_INTERNAL_USB_SUBMIT_URB,.....);
        nextStack = IoGetNextIrpStackLocation(irp);
       nextStack->Parameters.Others.Argument1 = urb;
    KdPrint(("Ready to send Urb to lower device\n"));
    IoSetCompletionRoutine(irp, (PIO_COMPLETION_ROUTINE) OnRequestComplete,(PVOID) &event, TRUE, TRUE, TRUE);
    ntStatus = IoCallDriver(deviceExtension->TopOfStackDeviceObject, irp);
问题就在那个IoCallDriver那里出错,用softice查到ntStatus值为:
c0000010(STATUS_INVALID_DEVICE_REQUEST)
请问这是什么原因???
小弟我先行谢过了.
另:这个驱动只是一个程序框架,也没有任何实际的硬件连接到计算机,跟这个无关吧???

rogerwoo
驱动牛犊
驱动牛犊
  • 注册日期2004-11-30
  • 最后登录2006-07-04
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-07 08:58
[quote]to snowStart:
请问我想开发打印机的USB驱动程序,
那开发的时候要用什么实际硬件连接到机器做开发呢?
要把那USB打印机连接到计算机吗??
还是需要什么别的开发板或者什么的来做模拟开发??


[编辑 -  1/7/05 by  rogerwoo]


当然要连接USB打印机了,

如果是2000/xp/2003,
系统本身自带了USBprint.sys,可以满足打印要求

如果安装了相应的打印机驱动,系统会自动枚举并添加打印端口
 [/quote]

不如再说得清晰点,其实我要做一个USB打印机的GDI驱动程序,
既然已经有了USBprint.sys,岂不是打印机驱动程序不需要做了?
那我需要做点什么?
怎么入手啊???
高人请多多指点!
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-07 08:38
to snowStart:
请问我想开发打印机的USB驱动程序,
那开发的时候要用什么实际硬件连接到机器做开发呢?
要把那USB打印机连接到计算机吗??
还是需要什么别的开发板或者什么的来做模拟开发??


[编辑 -  1/7/05 by  rogerwoo]


当然要连接USB打印机了,

如果是2000/xp/2003,
系统本身自带了USBprint.sys,可以满足打印要求

如果安装了相应的打印机驱动,系统会自动枚举并添加打印端口
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
rogerwoo
驱动牛犊
驱动牛犊
  • 注册日期2004-11-30
  • 最后登录2006-07-04
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-07 07:59
to snowStart:
请问我想开发打印机的USB驱动程序,
那开发的时候要用什么实际硬件连接到机器做开发呢?
要把那USB打印机连接到计算机吗??
还是需要什么别的开发板或者什么的来做模拟开发??


[编辑 -  1/7/05 by  rogerwoo]
zwx_zwb
驱动牛犊
驱动牛犊
  • 注册日期2005-01-04
  • 最后登录2005-02-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-06 09:49
楼主形成的文件框架是向导生成的。我也没硬件实体,形成筐架就出问题拉,我用的是XP系统,driverstudio 3.1,这个东东和系统有关吗?那请问该怎么办呢,
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-01-06 08:21
没有任何实际的硬件连接是不行的
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
rogerwoo
驱动牛犊
驱动牛犊
  • 注册日期2004-11-30
  • 最后登录2006-07-04
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-01-06 08:12
up
游客

返回顶部