- 0
- 0
- 约1.34万字
- 约 42页
- 2026-07-13 发布于北京
- 举报
麦洛克菲内核开发第三课
多线程同步/IRQL/内核数据结构麦洛克菲荣
提纲多线程中断运行级别(IRQL)多线程安全同步互斥内核数据结构杀进程作业
线程的运行级别(IRQL)神马是中断?中断优先级无中断: PASSIVE_LEVE(0) 软中断: APC_LEVEL(1) DISPATCH_LEVEL(2) 硬中断: DIRQL 设备中断请求级处理程序执行PROFILE_LEVEL 配置文件定时器CLOCK2_LEVEL 时钟SYNCH_LEVEL 同步级IPI_LEVE 处理器之间中断级POWER_LEVEL 电源故障级
如何遵守中断级别要求?明白驱动中各个函数的中断级别明白要调用的API的运行级别RtlCopyUnicodeStringPASSIVE级别可以使用任何函数和内存DISPATCH级别只能访问能运行在DISPATCH级别的API和非分页内存NONPAGEPOOL内存可在任何级别使用PAGEDPOOL只能在PASSIVE_LEVEL和APC_LEVEL使用在PASSIVE和APC级别代码中加:PAGED_CODE()宏#definePAGED_CODE()\{if(KeGetCurrentIrql()APC_LEVEL){\KdPrint((EX:Pageablecodecalledat
原创力文档

文档评论(0)