cg19820811
驱动牛犊
驱动牛犊
  • 注册日期2005-02-28
  • 最后登录2007-07-18
  • 粉丝0
  • 关注0
  • 积分130分
  • 威望13点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
阅读:2197回复:2

做的USB驱动,一用WriteFile/ReadFile就重起,请教一下?

楼主#
更多 发布于:2007-01-21 16:00
  做的USB驱动,一用WriteFile/ReadFile就重起,请教一下?

用的二个端点
1 IN BULK 16
2 OUT BULK 64

其它没有了。全是DS自动生成的代码,装上去之后,我找了个U盘插上,然后运行DS生成的测试代码

hDevice = OpenByInterface( &ClassGuid, 0, &Error); 这步没有问题,并且在Monitor中看了

正确的消息

904.826075      Default            MonUsb: Entering MonUsbDevice::DefaultPnp with IRP minor function=IRP_MN_QUERY_DEVICE_RELATIONS
904.826104      Default            MonUsb: Entering MonUsbDevice::DefaultPnp with IRP minor function=IRP_MN_QUERY_DEVICE_RELATIONS
904.852690      Default            MonUsb: Entering MonUsbDevice::OnRemoveDevice
904.852746      Default            MonUsb: Entering MonUsbDevice::~MonUsbDevice() (destructor)
907.053092      Default            MonUsb: In DriverEntry
907.053152      Default            MonUsb: m_bBreakOnEntry loaded from registry, resulting value: [0x00000000]
907.053537      Default            MonUsb: AddDevice called
907.053741      Default            MonUsb: Entering MonUsbDevice::MonUsbDevice (constructor)
907.053806      Default            MonUsb: Entering MonUsbDevice::DefaultPnp with IRP minor function=<unknown minor function>
907.053969      Default            MonUsb: Entering MonUsbDevice::DefaultPnp with IRP minor function=IRP_MN_QUERY_RESOURCE_REQUIREMENTS
907.054108      Default            MonUsb: Entering MonUsbDevice::DefaultPnp with IRP minor function=IRP_MN_FILTER_RESOURCE_REQUIREMENTS
907.055241      Default            MonUsb: Entering MonUsbDevice::OnStartDevice
907.073224      Default            MonUsb: USB Configuration OK
907.074044      Default            MonUsb: Entering MonUsbDevice::DefaultPnp with IRP minor function=IRP_MN_QUERY_CAPABILITIES
907.074159      Default            MonUsb: Entering MonUsbDevice::DefaultPnp with IRP minor function=IRP_MN_QUERY_DEVICE_RELATIONS
     Default             -- end --

可就是运行到ReadFile或WriteFile时就会自动重起,请问一下怎么回事呀?你们有遇过这样的情况吗

会不会是我的U盘不支持USB2.0协议会这样?还是其它什么原因?

QQ:69944601 刚开始学做驱动,如果您也是大家互相交流一下。

其实我知道什么数据也读不出来的也写不了,只是想测试下读写函数的运行。可是这样会导致自己重起???
create也是对的
7.693751      Default            MonUsb: In DriverEntry
7.693811      Default            MonUsb: m_bBreakOnEntry loaded from registry, resulting value: [0x00000000]
7.694229      Default            MonUsb: AddDevice called
7.694479      Default            MonUsb: Entering MonUsbDevice::MonUsbDevice (constructor)
7.694544      Default            MonUsb: Entering MonUsbDevice::DefaultPnp with IRP minor function=<unknown minor function>
7.694711      Default            MonUsb: Entering MonUsbDevice::DefaultPnp with IRP minor function=IRP_MN_QUERY_RESOURCE_REQUIREMENTS
7.694864      Default            MonUsb: Entering MonUsbDevice::DefaultPnp with IRP minor function=IRP_MN_FILTER_RESOURCE_REQUIREMENTS
7.695316      Default            MonUsb: Entering MonUsbDevice::OnStartDevice
7.713772      Default            MonUsb: USB Configuration OK
7.714697      Default            MonUsb: Entering MonUsbDevice::DefaultPnp with IRP minor function=IRP_MN_QUERY_CAPABILITIES
7.714822      Default            MonUsb: Entering MonUsbDevice::DefaultPnp with IRP minor function=IRP_MN_QUERY_DEVICE_RELATIONS
113.446114      Default            MonUsb: Entering MonUsbDevice::Create, IRP: Major=IRP_MJ_CREATE Minor=0x0 Flags=0x884
113.446121      Default            MonUsb:
113.446141      Default            MonUsb: MonUsbDevice::Create Status 0x00000000
     Default             -- end --
NTSTATUS status;
   status = m_Endpoint1IN.SubmitUrb(I, pUrb, LinkTo(ReadComplete), pCompInfo, 0);
   return status;

把这句改成
   NTSTATUS status= STATUS_TIMEOUT;
//    status = m_Endpoint1IN.SubmitUrb(I, pUrb, LinkTo(ReadComplete), pCompInfo, 0);
   return status;

就不会了,请问这是为什么呀?
cg19820811
驱动牛犊
驱动牛犊
  • 注册日期2005-02-28
  • 最后登录2007-07-18
  • 粉丝0
  • 关注0
  • 积分130分
  • 威望13点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-01-21 18:09
难到就没有人知道吗?
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-01-22 06:45
用WinDbg调试
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
游客

返回顶部