首页 > 其他分享 >APC插入

APC插入

时间:2024-05-18 17:30:33浏览次数:26  
标签:__ 中断 插入 线程 apc APC 等级

2.APC插入

介绍

WRK中的KeInsertQueueApc函数原型

BOOLEAN
KeInsertQueueApc (
    __inout PRKAPC Apc,//apc结构
    __in_opt PVOID SystemArgument1,//参数1(可选)
    __in_opt PVOID SystemArgument2,//参数2(可选)
    __in KPRIORITY Increment//优先级,R3下自动传值
    )

IRQL

处于0号IRQL下,只要是个中断就可以给你打断,也就是本来你的代码正常执行,但是来了一个中断,你的代码就不执行了而去执行中断了

当产生线程APC执行的时候

因为apc是在apc等级下的,普通apc在被动登记下(0号IRQL),只有特殊apc在apc等级下

处在apc等级下,如果触发apc不会给你自己的线程打断,必须要在自己的线程执行完毕后才回去执行,也就是说在低等级或者同等级是不能打断你的

DPC相当与软中断的最高权限,,x86下本质上是一个虚拟的中断等级,x64下不再是虚拟中断,而是intel或者amd提供的专门cr8寄存器控制等级。我们的线程切换是运行在DPC下的,如果再去触发apc的中断,那么不会执行apc中断(因为APC等级低于DPC等级)

标签:__,中断,插入,线程,apc,APC,等级
From: https://www.cnblogs.com/murkuo/p/18199536

相关文章

  • APC挂靠
    5.APC挂靠用户态apc和上一课的内核apc几乎一致,唯一的变动就是这个//插入当前线程 KeInitializeApc(pKapc,eThread,OriginalApcEnvironment,KernelAPCRoutineFunc,NULL,0x4011d0,UserMode,NULL);改成了UserMode函数地址改成了进程的地址0x4011d0完整代码Driver-main......
  • NPOI Excel指定范围内插入图片(纵横比)
    NPOIExcel指定范围内插入图片(纵横比),考虑列宽,行高比。//Iassumeyouwanttoinserttheimageintotheworksheetloadedintheworkbookparameter//Youcanadjusttheratiovariableaccordinglytocontroltheratioofwidthandheight//Youcanalsoadjust......
  • 已卸载Tuxera NTFS for Mac后仍在ntfs磁盘插入后仍有提示
    “Microsoft NTFS by Tuxeracouldnotvalidateyourproductkey.PleasecontactTuxera'semailsupportforhelp.”我之前安装过MicrosoftNTFS但是过期了,我就给它卸载了,但是每次插入u盘还是会弹出上面一行内容的提示框。于是我找到这个朋友发的[文章](https://zhuanla......
  • gorm实现MySQL的INSERT INTO ... ON DUPLICATE KEY UPDATE差异化插入和更新
    比如插入f_create_uid,更新时忽略f_create_uid,只更新f_update_uid。可使用gorm的BeforeCreate和BeforeUpdate钩子,这两个钩子分别在创建和更新记录之前被调用。//BeforeCreate在创建记录之前调用func(dob*MyStruct)BeforeCreate(tx*gorm.DB)(errerror){dob......
  • openGauss 使用合并方式更新和插入数据
    使用合并方式更新和插入数据在用户需要将一个表中所有的数据或大量的数据添加至现有表的场景下,openGauss提供了MERGEINTO语句通过两个表合并的方式高效地将新数据添加到现有表。MERGEINTO语句将目标表和源表中数据针对关联条件进行匹配,若关联条件匹配时对目标表进行UPDATE,关联......
  • SQL 复杂查询更新插入
    通过现有数据快速插入构造新数据1INSERTINTO`merge`.`ods_binlog_traffic_vehicle_tracks`(2`id`,3`vehicle_no`,4.5.6.7`gps_datetime`,8.9.10.11`update_time`,12.13.14.15)......
  • Mysql批量插入数据(python脚本)
    有个需求:需要在table1中插入205条数据,role_id固定为65,menu_id从91开始方法二:python脚本实现PyMySQL是一个纯Python编写的MySQL客户端库,用于连接和操作MySQL数据库。以下是PyMySQL的主要功能和优点:功能:数据库连接:PyMySQL提供了connect()方法,用于建立与MySQL数据库的连接。一旦......
  • Mysql批量插入数据
    有个需求:需要在table1中插入205条数据,role_id固定为65,menu_id从91开始方法一:存储过程1、什么是存储过程?MySQL存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集合。用户通过指定的存储过程名称和参数(如果有的话)来调用并执行它。存储过程可以在程序中被多次调用,并......
  • mybatis多线程插入数据表已经事务回滚
    importlombok.extern.slf4j.Slf4j;importorg.apache.commons.collections4.CollectionUtils;importorg.apache.commons.collections4.ListUtils;importorg.apache.ibatis.session.ExecutorType;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibati......
  • 排序 - 插入 & 交换 & 选择 & 堆 & 基数
    插入排序直接插入排序算法描述将一条记录插入到有序表中,得到新的有序表。将需要调整位置的元素暂存在r[0]处,然后再进行插入。算法实现voidInsertSort(SqList&L){for(i=2;i<=L.length;i++)if(L.r[i].key<L.r[i-1].key){L.r[0]=L.......