driver_code
文章平均质量分 77
Iqian1314
全国手机充值平台:http://iqian99.taobao.com/
展开
-
驱动笔记
驱动笔记 1、三种类型的WDM驱动程序<br /> 总线驱动程序(bus driver)<br /> 功能驱动程序(function driver)<br /> 过滤驱动程序(filter driver)<br /> <br /><br />2、其他分类方法<br /> 类驱动程序(class driver)<br /> 端口驱动程序(port driver)<br /> 小端口驱动程序(miniort driver)<br /><br />3、驱动对象(DRIVER_OBJEC原创 2010-06-25 11:16:00 · 2182 阅读 · 1 评论 -
IRP_MN_START_DEVICE分发例程中的前进和等待IRP总结
<br /> 当PnP管理器检测到硬件时,它首先参考注册表以了解有哪些过滤器驱动程序将管理该硬件。如果必要(某些驱动程序可能因为其它硬件的需要已经被系统装入)它将装入这些驱动程序,并调用它们的AddDevice函数。最后AddDevice函数创建设备对象并连入设备堆栈。此后,PnP管理器将为所有设备驱动程序分配I/O资源。<br /> 一旦资源分配确定,PnP管理器通过向每个设备发送一个带IRP_MN_START_DEVICE副功能码的PnP请求来通知设备。通常过滤器驱动程序对这个IRP转载 2010-06-29 14:10:00 · 1359 阅读 · 0 评论 -
KdPrint的使用方法
<br />KdPrint使用方法类似printf,注意KdPrint((" ", ));使用的是双括号。<br />用KdPrint(())来代替printf 输出信息。这些信息可以在DbgView 中看到。KdPrint(())自身是一个宏,<br />为了完整传入参数所以使用了两重括弧。这个比DbgPrint 调用要稍好。因为在free 版不被编译。<br />DebugPrint格式说明符<br /> 格式说明符 类型<br />%c ANSI字符原创 2010-07-15 11:02:00 · 1924 阅读 · 0 评论 -
MmAllocateContiguousMemory&&MmGetPhysicalAddress
/////////////////////// 申请全局物理连续内存,用于D1预览及原始视频///////////////////// RtlZeroMemory(&g_DriverInfo,sizeof(g_DriverInfo)); PHYSICAL_ADDRESS pa; //物理地址 pa.QuadPart = 0xFFFFFFFFFFFFFFFF; //@最大的可用的物理地址// g_DriverInfo.vaD1Buffer = MmAllocateContiguousMem原创 2010-06-02 11:50:00 · 3580 阅读 · 0 评论 -
串口的过滤驱动例子
<br />这里我们主要以串口1过滤驱动为例,例程:comtest<br />1、 先建好makefile文件和sources文件,因为用到RtlStringCchPrintfW函数,所以必须包含TARGETLIBS= $(DDK_LIB_PATH)/ntstrsafe.lib这句话,然后源文件(comtest.c)中加入<br />#define NTSTRSAFE_LIB<br />#include <br /><br />2、程序部分我们先看DriverEntry函数,也就是整个驱动的入口程序<br转载 2010-06-12 11:11:00 · 3374 阅读 · 1 评论