首页IT科技驱动开发工程师是干什么的(驱动开发函数详解之Wdm)

驱动开发工程师是干什么的(驱动开发函数详解之Wdm)

时间2025-08-01 19:51:27分类IT科技浏览5670
导读:驱动开发函数详解之Wdm 前言...

驱动开发函数详解之Wdm

前言

IRP(I/O Request Package) == 输入输出请求包

上层应用程序需要访问底层输入输出设备时               ,发出I/O请求                     ,系统会把这些请求转化为IRP数据        ,不同的IRP会启动I/O设备驱动中对应的派遣函数               。 #pragma PAGEDCODE 将例程分配在分页内存中

1.PAGED_CODE_LOCKED(Wdm.h)

该宏断言:当前正在运行的代码节可分页            ,且在运行之前必须已锁定到内存中                       。

返回:VOID

可分页代码必须遵循某些限制 (如 IRQL < = APC_LEVEL)                     ,除非已将其锁定到位      。

**必须锁定就位才能正常工作的可分页例程**首先应该调用 PAGED_CODE_LOCKED           。

2.PAGED_CODE(Wdm.h)

该宏确保:调用方的线程在 IRQL (足够低               、允许分页)上运行                        。

3.锁定可分页代码或数据

许多内核模式的驱动程序没必要

一直驻留在内存中            ,除非打开它们管理的设备;

另一种如:系统代码                     、应用程序代码或系统分页文件的磁盘的驱动程序必须始终

驻留在内存中          。

锁定:偶尔使用的设备        ,在使用时                     ,通过在内存中锁定代码把该部分指定为可分页       。 将可分页代码隔离到一个命名部分&#x

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
服务器在美国,受法律保护(美国服务器的网络安全风险有哪些) 麒麟操作系统磁盘分区(麒麟Linux操作系统磁盘策略永久调整为deadline)