Windows驱动通信机制与实现方法.pdfVIP

  • 2
  • 0
  • 约1.34万字
  • 约 12页
  • 2026-11-06 发布于北京
  • 举报

驱动与应用程序的通信至关重要。内核执行代码后需将结果动态反馈至应用层,但由于二者处于不同地址

空间,必须借助通信机制实现数据交互。微软了三种通信方式,下文将首先介绍通过ReadFile系列

函数实现的通信模式。

简而言之,系统支持的通信模式可归纳为三种。

缓冲式读写(

DO_BUFFERED_IO)直接式读写

(DO_DIRECT_IO)其他读写方式

通过ReadFile,WriteFile系列函数实现的通信机制属于缓冲通信模式。该模式下,操作系统会将应用

层的数据副本传递至内核。当应用层调用ReadFile,WriteFile时,驱动内会自动触发IRP_MJ_READ与

IRP_MJ_WRITE派遣函数,开发者可在其中对数据进行处理。

首先需要实现初始化各类派遣函数的案例,以下代码展示通用初始化派遣函数的基本框架:分别处理

IRP_MJ_CREATE创建派遣和IRP_MJ_CLOSE关闭派遣。此外,函数DriverDefaultHandle用于初

始化其他派遣,即将CREATE/CLOSE之外的派遣全部设为初始值。当然,省略这段代码也不影响实际

执行。

#include

ntifs.h

SymLinkName;

//

局部变量

symLinkName

文档评论(0)

1亿VIP精品文档

相关文档