tqijin
驱动小牛
驱动小牛
  • 注册日期2006-07-04
  • 最后登录2013-11-21
  • 粉丝3
  • 关注0
  • 积分31分
  • 威望1060点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
阅读:1368回复:6

求教管理员USB驱动死机问题

楼主#
更多 发布于:2008-08-25 13:39
各位大侠:
我做了一个USB驱动,进行的是块传输。
部分代码:
    PURB pUrb = m_Endpoint6IN.BuildBulkTransfer(
                    pBuffer,          // Where is data coming from?
                    dwTotalSize,      // How much data to read?
                    TRUE,             // direction (TRUE = IN)
                    NULL,            // Link to next URB
                    TRUE            // Allow a short transfer
                    );    

    if (pUrb == NULL)
    {
        I.Information() = 0;
        return I.PnpComplete(this, STATUS_INSUFFICIENT_RESOURCES);
    }

    // Submit the URB to our USB device
    status = m_Endpoint6IN.SubmitUrb(pUrb, NULL, NULL, 500);

当我进行2048×1536大小的数据读取时候,可以实现
当我进行2560x1920大小读取时候,出现死机现象
大家帮帮忙
谢谢
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-08-25 14:30
怎么理解你所说的"死机"? 是蓝屏了,还是没有反应?
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
driverbuild
驱动牛犊
驱动牛犊
  • 注册日期2007-01-30
  • 最后登录2018-07-10
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望305点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2008-08-25 14:58
bulk传输一次最大3344k, 多创建几个urb吧
我们专注于驱动开发 www.kernelcoding.com
driverbuild
驱动牛犊
驱动牛犊
  • 注册日期2007-01-30
  • 最后登录2018-07-10
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望305点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2008-08-25 15:01
参见http://support.microsoft.com/kb/832430/en


Transfer Type MaximumTransferSize Error Reported
Control Endpoint 0 4 KB USBD_STATUS_INVALID_PARAMETER
Control (Other Endpoints) 64 KB Bugcheck 0xFE
Interrupt Unlimited None
UHCI Bulk Unlimited None
OHCI Bulk 256K Bugcheck 0xFE
EHCI Bulk 3344K  Bugcheck 0xFE
我们专注于驱动开发 www.kernelcoding.com
tqijin
驱动小牛
驱动小牛
  • 注册日期2006-07-04
  • 最后登录2013-11-21
  • 粉丝3
  • 关注0
  • 积分31分
  • 威望1060点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-08-25 19:53
我的死机是系统直接重新启动,
driverbuild,每次都得到你的帮助,这是第二次了
谢谢您,
您所讲的多创建几个urb
是怎么样的呢
比如创建了2个URB,
是不是把原来一个URB传输大小分成两个呢
两个URB的目的地址pBuffer是不是需要这样(一个pBuffer,另一个pBuffer+偏移量)
那SubmitUrb针对这两个URB也要发送两次了
谢谢谢谢
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-08-26 07:46
引用第4楼tqijin于2008-08-25 21:53发表的  :
我的死机是系统直接重新启动,
driverbuild,每次都得到你的帮助,这是第二次了
谢谢您,
您所讲的多创建几个urb
是怎么样的呢
.......


说明代码里面有bug,连上WinDbg看一下
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
tqijin
驱动小牛
驱动小牛
  • 注册日期2006-07-04
  • 最后登录2013-11-21
  • 粉丝3
  • 关注0
  • 积分31分
  • 威望1060点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2008-08-26 08:18
rayyang2000 谢谢你,
友可能
不过其他小分辨率数据的都可以
按照driverbuild 说的试一试
同样也谢谢你
游客

返回顶部