Windows内核学习笔记(六)-- [总结]创建IRP的四种不同方式

本文详细介绍了在Windows驱动程序中创建IRP的四种方法:IoBuildSynchronousFsdRequest、IoBuildAsynchronousFsdRequest、IoBuildDeviceIoControl和IoAllocateIrp。这些函数的不同之处在于创建的IRP类型、IRP对象的删除以及关联事件的处理。对于IoAllocateIrp,开发者需要手动填写IRP结构并负责释放。
摘要由CSDN通过智能技术生成

在驱动程序中,经常会调用其他的驱动程序;其中,手动构造 IRP ,然后将 IRP 传递到相应驱动程序的派遣函数中是一种比较简单的方法,下面就来介绍下手动创建 IRP 的几种不同的方法及其特点。

         创建 IRP 总共有 4 种方法。分别通过调用: IoBuildSynchronousFsdRequest IoBuildAsynchronousFsdRequest IoBuildDeviceIoControl IoAllocateIrp 4 个内核函数来完成。这其中, IoAllocateIrp 是比较底层的内核函数,其余的三个内核函数是属于靠近上层的内核函数,而且这三个函数都是通过调用 IoAllocateIrp 实现的。

         这几个函数都是文档化的函数,原型都可以在</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值