0x00 IRQL

IRQL -> Interrupt Request Level 中断请求等级

0x01 函数

KeRaiseIrqlToDpcLevel 将   硬件优先级提高到IRQL=DISPATCH_LEVEL,从而屏蔽当前处理器上等效或较低的IRQL中断

KeRaiseIrql     将硬件优先级提高到指定的IRQL值,从而屏蔽当前处理器上等效或较低IRQL的中断

KeLowerIrql    将当前处理器上的IRQL还原为其原始值。

KeInitializeDpc   初始化DPC对象,并为该对象注册CustomDpc例程。

KeInsertQueueDpc    插入DPC队列

0x02代码-> 插入DPC队列

#include <wdm.h>

VOID DriverUnload(PDRIVER_OBJECT DriverObjecy)

{

DbgPrint("DriverUnload");

}

void KstartRoutine(PVOID StartContext)

{

DbgPrint("KstartRoutine");

return;

}

NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObjecy,PUNICODE_STRING RegistryPath)

{

NTSTATUS status = STATUS_SUCCESS;

DriverObjecy->DriverUnload = DriverUnload;

KDPC kdpc = { 0 };

KeInitializeDpc(&kdpc, KstartRoutine,NULL);

KeInsertQueueDpc(&kdpc,NULL,NULL);

return status;

}

windows驱动 - IRQL相关推荐

  1. Windows驱动中的Crash回调

    关于Windows驱动的CRASH回调函数的一些用法. 我们知道CRASH,是Windows系统产生了无法恢复的错误,导致整个系统无法进行下去,而没有办法的一种选择.表项形式, 就是我们日常电脑中看到 ...

  2. windows驱动开发详解学习笔记

    1. windows驱动分两类,NT式驱动和WDM驱动,后者支持即插即用: 2. DriverEntry是入口函数,传入参数:pDriverObject由IO管理器传入: 3. WDM驱动中,AddD ...

  3. Windows驱动编程基础教程

    前言     本书非常适合熟悉Windows应用编程的读者转向驱动开发.所有的内容都从最基础的编程方法入手.介绍相关的内核API,然后举出示范的例子.这本书只有不到70页,是一本非常精简的小册子.所以 ...

  4. 《Windows驱动开发技术详解》学习笔记

    Abstract   如果推荐 Windows 驱动开发的入门书,我强烈推荐<Windows驱动开发技术详解>.但是由于成书的时间较早,该书中提到的很多工具和环境都已不可用或找不到,而本文 ...

  5. Windows驱动编程基础教程 (转)

     Windows驱动编程基础教程(转) 我经常在网上遇到心如火燎的提问者.他们碰到很多工作中的技术问题,是关于驱动开发的.其实绝大部分他们碰到的"巨大困难"是被老牛们看成初级得 ...

  6. 【IRP】Windows 驱动之IRP

    什么是IRP: I/O request packets,简称IRP.即输入输出请求包.它是WINDOWS内核中的一种非常重要的数据结构.上层应用程序与底层驱动程序通信时,应用程序会发出I/O请求.操作 ...

  7. Windows驱动之IRP PENDING

    文章目录 Windows驱动之IRP PENDING 1. IRP的发起 2. IoMarkIrpPending 3. IoCompleteRequest 4. 总结 Windows驱动之IRP PE ...

  8. Windows驱动之IRP结构

    文章目录 Windows驱动之IRP结构 1. IRP 2. IO_STACK_LOCATION 3. IRP 和 IO_STACK_LOCATION 的交互 3.1 IoAllocateIrp 3. ...

  9. c语言windows驱动编程入门,Windows驱动开发技术详解 PDF扫描版[175MB]

    Windows驱动开发技术详解由浅入深.循序渐进地介绍了windows驱动程序的开发方法与调试技巧.本书共分23章,内容涵盖了windows操作系统的基本原理.nt驱动程序与wdm驱动程序的构造.驱动 ...

  10. 楚狂人Windows驱动编程基础教程

    版权声明     本书是免费电子书.作者保留一切权利.但在保证本书完整性(包括版权声明.前言.正文内容.后记.以及作者的信息),并不增删.改变其中任何文字内容的前提下,欢迎任何读者以任何形式(包括各种 ...

最新文章

  1. JAVA实现长连接(含心跳检测)Demo
  2. 【GCN】图卷积网络 Graph Convolutional Networks
  3. 最长公共子序列Java代码实现
  4. EMOS SPF开启收不到信 及WEB收件箱不显示邮件列表等问题解决处理记录
  5. Github Actions
  6. Java案例:Karel学习Java
  7. 软件架构(9)---UML 图
  8. Python:程序设计方法学、体育竞技分析
  9. Java FileInputStream
  10. 为什么说Mac比windows更安全?
  11. Quartus II 12.1安装及破解
  12. kettle中的switch_kettle 教程(三):条件判断 Switch Case
  13. Python实现CART决策树
  14. 科猫网:72个白手起家创业点子推荐
  15. 三款较好的代码比较工具Beyond compare、DiffMerge、WinMerge
  16. SIM868——AT+CBC 监测锂电池电量理解与测试
  17. 产品设计:产品设计中模块化设计的再认识与思考
  18. python 傅里叶变换_理解快速傅里叶变换算法
  19. Android-Activity生命周期、广播接收者、服务
  20. Windows 7核心图形架构细致分析

热门文章

  1. win10自带虚拟机 Hyper-V下载和安装linux系统
  2. macOS 富士施乐打印机扫描仪「Fuji Xerox Scanner B.app」无权限问题
  3. 漫画:六九式是一道简单有趣的算法题(开车...)
  4. 怎么隐藏计算机磁盘分区,如何隐藏硬盘分区 隐藏磁盘分区
  5. #今日说码栏目#第四集 各类选择器
  6. 相遇恨晚的经典宋词65首
  7. sumifs两个求和列如何计算_SUMIFS多条件求和,基本使用方法讲解
  8. 高中计算机必修选修知识点总结,103页整个高中数学全部知识点总结大全(必修及选修word最全版)...
  9. 如果申论考“冬奥会”,你该怎么写?
  10. node.js--尝试做一个crub