greeceting
驱动牛犊
驱动牛犊
  • 注册日期2005-01-27
  • 最后登录2005-10-19
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1341回复:2

急问一问题,给50分

楼主#
更多 发布于:2005-04-25 17:16
根据项目的资料要求
bmRequestType  bRequest       wValue windex wLength  Data
10100001b      DFU_GETSTATUS  0     interface  6    Status
DFU_GETSTATUS的直为0
用DS生成驱动框架后,我自己添入:
NTSTATUS DescriptorDevice::DFU_IOCTL_GETSTATUS_Handler(KIrp I){
       NTSTATUS status = STATUS_SUCCESS;
       PVOID pBuffer = I.IoctlBuffer();
       ULONG dwInputBufferSize = I.IoctlInputBufferSize(); ULONG dwOutputBufferSize = I.IoctlOutputBufferSize();
I.Information() = 0;
I.Status() = STATUS_SUCCESS;

URB u;
           RtlZeroMemory(&u,sizeof(URB));
m_Lower.BuildClassRequest(
          reinterpret_cast<PUCHAR>(pBuffer),
                  dwOutputBufferSize,
                  0,
                  3,  
                  0,
                  TRUE,
                  TRUE,
                  NULL,
                    0,
              URB_FUNCTION_CLASS_INTERFACE ,
              &u );


status = m_Interface.SubmitUrb(&u);

if( NT_SUCCESS(status) )
{
I.Information() = 6; status = STATUS_SUCCESS;
}
else
{
status = STATUS_UNSUCCESSFUL;
}
return status;
}

在应用程序中利用deviceiocontrol调用相关的IOCTROL时,返回错误.
发现问题在于这个操作里边的m_Lower.SubmitUrb(&u);出错,究竟是什么原因呢???
  此外:我利用标准的getstatus命令时:
利用函数usbbuildgetstatus(),或m_Interface.GetStatus(), 发送URB就不会有错.为什么,为什么??????我想很久了,都解决不了,求各位大侠帮我想想办法,急呀!!!!
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-04-26 00:28
具体发送什么URB?
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
searchone
驱动牛犊
驱动牛犊
  • 注册日期2003-12-31
  • 最后登录2005-05-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-04-26 13:28
估计你是在m_Interface.submit(&u)时该函数一直不返回所以驱动不响应了啊.
试试设置同步时间m_Interface.submit(&u,NULL,NULL,100);//以ms为单位.
如果找到好的方法可以不设置这个时间,请贴出来看看:)

[编辑 -  4/26/05 by  searchone]
游客

返回顶部