WDF
saloon_yuan
这个作者很懒,什么都没留下…
展开
-
IRP详解(3)----UMDF下处理流程
WDM和MDF下IRP的处理流程是不相同的,其中MDF又有UMDF何KMDF之分,我们先来看看UMDF中IRP的详细处理,如下图所示:1:I/O管理器将IRP传递给位于内核模式设备堆栈中的顶层驱动对象(Up Device Object)。2:位于内核的反射器将该IRP打包发送给UMDF Host进程。3:IRP包传送给负责处理它的驱动后,framework创建一个WDF请求对象并把原创 2012-08-26 00:00:51 · 2147 阅读 · 0 评论 -
IRP详解(1)----请求类型
常见的 I/O请求的类型一般有如下几种:create, close, read, write, 以及I/O control。1:Create请求 我们知道,应用程序在打开一个文件或者设备时,一般会调用CreateFile这个API,告知系统我将要打开一个文件,接下来I/O管理器将创建一个文件对象并将发送一个创建请求 给目标设备,WDF收到该创建请求后将创建一个与I/O管理器原创 2012-08-25 21:31:17 · 3670 阅读 · 0 评论 -
IRP详解(2)----传输类型
看完上篇的IRP请求类型,我们在来看看IRP是如何在上层和底层间实现数据传输的,微软支持以下三种数据传输机制:1:Buffered I/O传输 I/O管理器发起Buffered I/O请求时,该IRP将会创建一个内部缓冲区,当该请求是写操作时,I/O管理器将用户空间要写入的缓冲区内容复制到该内部缓冲区中,相反,读操作时,将内部缓冲区的内容复制给用户空间缓冲区。2:Direct原创 2012-08-26 00:00:15 · 1634 阅读 · 0 评论 -
WDF----PCI设备初始化
作为微软新一代驱动开发模型,WDF逐渐取代WDM成为驱动程序开发主流, 下面以AMCC S5933驱动代码为例,研究下WDF模式下PCIe设备的驱动开发是什么样的流程。和WDM相似,系统启动后,会调用驱动程序里的入口函数DriverEntry(),代码如下:NTSTATUSDriverEntry( IN PDRIVER_OBJECT DriverObject, IN原创 2013-04-28 19:17:33 · 4294 阅读 · 0 评论