- 博客(8)
- 资源 (3)
- 收藏
- 关注
转载 驱动开发网上关于重启的网摘(3)
<br />q:为什么在驱动中一运行READ_REGISTER_ULONG操作机器就重启<br />想对一块虚拟内存进行读取,写了一个小驱动,但是一调用WRITE_REGISTER_ULONG读取指定的内核内存空间,机器就重启,急死了,在这个地方耽搁了一个星期了,有人能帮帮我吗?<br />代码如下:<br />NTSTATUS PortTalkCreateDispatch(<br /> IN PDEVICE_OBJECT DeviceObject,<br /> IN PIRP Irp<br /> )
2010-05-31 16:31:00 993
转载 冰岛另一处火山或将喷发
http://news.qq.com/a/20100528/001340.htm 冰岛埃亚菲亚德拉火山 中新网5月28日电 据英国媒体报道,英国伦敦大学学院专家在5月27日警告到:虽然冰岛埃亚菲亚德拉(Eyjafjoell)火山喷发已经偃旗息鼓,但是不远处的卡特拉(Katla)火山很可能很快喷发,
2010-05-28 17:34:00 878
原创 自旋锁
自旋锁IRQL概念仅能解决单CPU上的同步问题,在多处理器平台上,它不能保证你的代码不被运行在其它处理器上的代码所干扰。一个称为自旋锁(spin lock)的原始对象可以解决这个问题。为了获得一个自旋锁,在某CPU上运行的代码需先执行一个原子操作,该操作测试并设置(test-and-set)某个内存变量,由于它是原子操作,所以在该操作完成之前其它CPU不可能访问这个内存变量。如果测试结果表
2010-05-28 11:18:00 1369
原创 完成I/O请求
完成I/O请求每个IRP都渴望被完成。在标准模型中,你至少有两种完成IRP的环境。DpcForIsr通常用于完成导致最近中断的IRP。派遣函数也可以在下面这两种情况下完成IRP: 如果请求是错误的(可以以容易的检测方式查明,例如要求打印机倒纸请求或卸载键盘请求),则派遣例程应以失败方式完成该请求并返回适当的出错代码。 如果请求要求得到的仅是派遣函数可以容易确定的信息(例如
2010-05-26 11:01:00 3264 1
转载 驱动程序内存分配
何谓可分页和非分页内存 默认情况下,内核加载器会加载所有的代码部分和全局数据到非分页内存中。而且,加载器是一次加载整个驱动的可执行文件,包括相关的DLL。加载后,内核加载器关闭驱动程序文件,甚至你可以删除当前正在执行的驱动文件。但是,你可以告诉加载器你希望驱动的哪部分是可分页,所谓可分页,就是可能会被换页出内存(Page out)。可以使用下面的指令来实现:#define AL
2010-05-25 09:46:00 715
原创 c/c++经典面试试题及标准答案
经过几次面试,发现笔试题基本上都是那几道,没有什么创新或者改变,总结出来给大家参考参考. 一、请填写BOOL , float, 指针变量与“零值”比较的 if 语句。(10分)请写出 BOOL flag 与“零值”比较的 if 语句。(3分)标准答案: if ( flag ) if ( !flag )如下写法均属不良风格,不得分。 if (flag == TRUE)
2010-05-21 12:02:00 682
转载 基于Windriver的驱动开发——驱动基础
基于Windriver的驱动开发——驱动基础 在一般的操作系统(linux,Windows),不能够从用户空间直接访问硬件,只能从系统内核访问硬件。系统内核中访问硬件的部分叫设备驱动。 设备驱动提供操作系统和硬件设备的接口,负责设备命令和程序命令的转换,设备数据的IO,以及设备错误处理。 设备驱动分类 设备驱动按功能性主要分为: Monolithic驱动
2010-05-14 14:00:00 1746
原创 用VC6.0编译驱动程序的工程设置方法
用VC6.0编译驱动程序的工程设置方法 VC6.0编译驱动程序的工程设置一、编译NT式驱动1> 建立一个win32应用程序工程。2> 修改工程属性。Project --Setting-C/C++中的Project Options内容替换成/nologo /Gz /MLd /W3 /WX /Z7 /Od /D WIN32=100 /D _X86_=1 /D WI
2010-05-14 11:29:00 1498 1
softICE中文教程+全部命令
2010-07-15
H.264便携式实时编解码器的方案探讨.pdf
2009-02-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人