• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > 在callusbd时出现BreakDuetoPagefault0EHFault=0000是怎么回事???在线等待

在callusbd时出现BreakDuetoPagefault0EHFault=0000是怎么回事???在线等待

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了在callusbd时出现BreakDuetoPagefault0EHFault=0000是怎么回事???在线等待等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 在callusbd时出现Break Due to Page fault0EH Fault=0000是怎么回事??? 在线等待
描述:

在adddevice成功后,进入startdevice中的如下语句时出错
UsbBuildGetDescriptorRequest (urb, 
(USHORT) sizeofstruct_URB_CONTROL_DESCRIPTOR_REQUEST), USB_DEVICE_DESCRIPTOR_TYPE,
0,
0,
deviceDescriptor,
NULL,
siz,
NULL);
ntStatus = UsbTest_CallUSBD(DeviceObject, urb);
/********错误就在每次进入这个CallUSBD后softice出现page fault的错误信息,这是怎么回事??***/
CallUSBD源码如下:
KEVENT event;
KeInitializeEvent(&event, NotificationEvent, FALSE);
IO_STATUS_BLOCK iostatus;
PIRP Irp = IoBuildDeviceIoControlRequest(IOCTL_INTERNAL_USB_SUBMIT_URB,
pdx->LowerDeviceObject, NULL, 0, NULL, 0, TRUE, &event, &iostatus);
if (!Irp){
KdPrint((DRIVERNAME " - Unable to allocate IRP for sending URBn"));
return STATUS_INSUFFICIENT_RESOURCES;
}
PIO_STACK_LOCATION stack = IoGetNextIrpStackLocation(Irp);
stack->Parameters.Others.Argument1 = (PVOID) urb;
KdPrint(("Ready to send Urb to lower devicen"));//此处可以进入
NTSTATUS status = IoCallDriver(pdx->LowerDeviceObject, Irp);
/*****错误就在此调用*******/
if(ntStatus == STATUS_SUCCESS)
KdPrint(("Succeed in calling next driver in UsbTest_CallUSBD()n"));
else
KdPrint(("Failed in calling next driver in UsbTest_CallUSBD()n"));//调用USBD后失败并输出此错误信息
if (status == STATUS_PENDING){
KeWaitForSingleObject(&event, Executive, KernelMode, FALSE, NULL);
status = iostatus.Status;
}
return status; 


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-06-05 请教PCMCIAwin2000驱动示例
  • 2017-06-05 MSP430编程点亮12864端口设置
  • 2017-06-05 还是读不到massstorage容量!
  • 2017-06-05 请教:FAT16格式的磁盘,容量怎么突破32MB呢?
  • 2017-06-05 怎样写串行打印机驱动?
  • 2017-06-05 CC1101中遇到的收发问题问题
  • 2017-06-05 各位大哥,再帮忙看下,probe之后i2c_client中的devplatform_data为空
  • 2017-06-05 CubeMX怎么生成STM32F2的DFU代码?
  • 2017-06-05 如何在自己的minidriver中增加一个接口?。如:IAMStreamConfig
  • 2017-06-05 目标机为什么会断开连接?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • WINCE6,串口打开失败,CreateFile()返回-1
    • 编码器设置成向上计数,定时器初始化为0,结果编码器一反转就进中断
    • DVR中通道号是什么意思?
    • 小白的疑惑:自动化(检测方向)二流学校研究生纠结于DSP还是arm
    • [求助]关于DDK用的编译器
    • 请教关于dsp/ndkprogrammer开发
    • 大家给些建议,应该如何开始学习驱动程序开发?
    • 如何控制并口
    • 嵌入开发该掌握哪些基础呢
    • 怎么做一个自己的设备类?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有