windows内核
yushuifirst
这个作者很懒,什么都没留下…
展开
-
windows内核原理分析之DPC函数的执行(2)
windows内核原理分析之DPC函数的执行(2)需要执行DPC函数时,就通过KeInsertQueueDpc()提出DPC请求,就是把具体的KDPC结构挂入PRCB中的DPC请求队列,这常常是由中断服务程序完成的。BOOLEAN NTAPI KeInsertQueueDpc(IN PKDPC Dpc, IN PVOID SystemArgument1, I转载 2015-06-04 15:08:42 · 1664 阅读 · 0 评论 -
windows内核原理分析之DPC函数的执行(3)
windows内核原理分析之DPC函数的执行(3)windows内核什么时候会扫描DPC请求队列,执行这些DPC函数呢?答案是,每当CPU的运行级别从DISPATCH_LEVEL或以上降低到DISPATCH_LEVEL以下时,如果有扫描DPC请求队列的要求存在,内核就会扫描DPC请求队列并执行DPC函数(如果队列非空的话)。为此,我们不妨从宏操作KeLowerIrql()开始往下看。#define原创 2015-06-04 15:13:53 · 2145 阅读 · 0 评论 -
windows内核原理分析之DPC函数的执行(1)
windows内核原理分析之DPC函数的执行(1)当发生中断时,有些操作本来应该在中断服务程序中完成,但是实际上却是在退出中断服务程序之后在一个DPC函数中完成的。DPC是”Deferred Procedure Call”的缩写,意为推迟了的过程(函数)调用。这是因为,逻辑上应该放在中断服务程序中完成的操作并非都是那么紧迫,其中有一部分可能相对而言不那么紧迫,而又比较费时间,实际上可以放在开中断的条转载 2015-06-04 15:01:09 · 2291 阅读 · 0 评论 -
windows内核情景分析---系统调用
windows内核情景分析—系统调用1.用户空间中的进程如何进行系统调用用户空间与系统空间所在的内存区间不一样,同样,对于这两种区间,CPU的运行状态也不一样。在用户空间中,CPU处于”用户态”;在系统空间中,CPU处于”系统态”。CPU从系统态进入用户态是容易的,因为可以执行一些系统态特有的特权指令,从而进入用户态。而相反,用户态进入系统态则不容易,因为用户态是无法执行特权指令的。所以,一般有三种原创 2015-06-04 21:50:45 · 938 阅读 · 0 评论 -
windows内核情景分析之——APC的执行
windows内核情景分析之——APC的执行以下为此书中的部分章节截图转载 2015-06-05 22:49:20 · 488 阅读 · 0 评论 -
剖析Windows消息处理机制
转载:原文连接http://www.cppblog.com/deane/archive/2010/01/07/105099.html1.窗口Windows程序是由一系列的窗口构成的,每个窗口都有自己的窗口过程,窗口过程就是一个拥有有固定 Signature 的 C函数,具体格式如下: LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg转载 2015-06-26 16:08:02 · 294 阅读 · 0 评论 -
windows内核情景分析之—— KeRaiseIrql函数与KeLowerIrql()函数
windows内核情景分析之—— KeRaiseIrql函数与KeLowerIrql()函数1.KeRaiseIrql函数这个 KeRaiseIrql() 只是简单地调用 hal 模块的 KfRaiseIrql() 函数,返回原来的 IRQL 写入 KeRaiseIrql() 的第 2 个参数里,将它写回 C 代码如下:VOID KeRaiseIrql(KIRQL NewIrql, PKIRQL O原创 2015-06-05 22:50:13 · 2524 阅读 · 0 评论 -
windows内核情景分析之进入与退出系统空间过程
windows内核情景分析之进入与退出系统空间过程以下为看书和结合自己的理解所写,如有错误,请指正!在windows操作系统中,要想进入系统空间,有三种方式——自陷,中断,异常,通过这三种方式进入系统空间后(通过中断向量表找到中断例程),都会经过一个预处理函数,这个预处理函数用来保留上下文,拷贝参数等,同时也都会调用HalBeginSystemInterrupt函数:BOOLEANHalBegin原创 2015-06-05 22:52:10 · 1148 阅读 · 0 评论