驱动IRP是什么?

Dirver: What is IRP?

I/O request packets, 简称IRP,即输入输出请求包,它是Windows内核中的一种非常重要的数据结构。上层应用程序与底层驱动程序通信时,应用程序会发出I/O请求,操作系统将相应的I/O请求转换成相应的IRP,不同的IRP会根据类型被分派到不同的派遣例程中进行处理。

IRP用来描述什么?

Windows NT任何一个I/O请求都能用一个单一的I/O请求包也就是IRP来描述,即用一个基于包的结构来描述I/O请求。当发出一个I/O系统服务时(比如创建文件Create File或读文件Read File的请求),I/O管理器就会通过构造一个描述此请求的IRP并把该IRP的一个指针传给设备驱动,从而开始对这个请求的处理。假如OS想向I/O管理器和设备驱动完整地描述一个I/O请求,那么IRP中保存的信息就可以达到这个目的。

此条目发表在 windows驱动开发 分类目录,贴了 , , 标签。将固定链接加入收藏夹。

发表评论