2.4.ReactOS系统提升IRQL级别KfRaiseIrql 函数

2.4.ReactOS系统提升IRQL级别KfRaiseIrql 函数

2.4.ReactOS系统提升IRQL级别KfRaiseIrql 函数

文章目录

  • [2.4.ReactOS系统提升IRQL级别KfRaiseIrql 函数](#2.4.ReactOS系统提升IRQL级别KfRaiseIrql 函数)
  • [KfRaiseIrql 函数](#KfRaiseIrql 函数)

KfRaiseIrql 函数

c 复制代码
/**********************************************************************
 * NAME							EXPORTED
 *	KfRaiseIrql
 *
 * DESCRIPTION
 *	Raises the hardware priority (irql)
 *
 * ARGUMENTS
 *	NewIrql = Irql to raise to
 *
 * RETURN VALUE
 *	previous irq level
 *
 * NOTES
 *	Uses fastcall convention
 */

KIRQL FASTCALL
KfRaiseIrql (KIRQL	NewIrql)
{
  KIRQL OldIrql;
  
  DPRINT("KfRaiseIrql(NewIrql %d)\n", NewIrql);
  
  if (NewIrql < KeGetPcr()->Irql)
    {
      DbgPrint ("%s:%d CurrentIrql %x NewIrql %x\n",
		__FILE__,__LINE__,KeGetPcr()->Irql,NewIrql);
      KEBUGCHECK (0);
      for(;;);
    }
  
  OldIrql = KeGetPcr()->Irql;
  KeGetPcr()->Irql = NewIrql;
  return OldIrql;
}

另一篇文中中有方法降低IRQL级别,和切换IRQL级别

相关推荐
沐怡旸11 分钟前
【底层机制】std::string 解决的痛点?是什么?怎么实现的?怎么正确用?
c++·面试
River4163 小时前
Javer 学 c++(十三):引用篇
c++·后端
感哥6 小时前
C++ std::set
c++
侃侃_天下6 小时前
最终的信号类
开发语言·c++·算法
博笙困了7 小时前
AcWing学习——差分
c++·算法
青草地溪水旁7 小时前
设计模式(C++)详解—抽象工厂模式 (Abstract Factory)(2)
c++·设计模式·抽象工厂模式
青草地溪水旁7 小时前
设计模式(C++)详解—抽象工厂模式 (Abstract Factory)(1)
c++·设计模式·抽象工厂模式
感哥7 小时前
C++ std::vector
c++
zl_dfq8 小时前
C++ 之【C++11的简介】(可变参数模板、lambda表达式、function\bind包装器)
c++
每天回答3个问题8 小时前
UE5C++编译遇到MSB3073
开发语言·c++·ue5