
Windows 核心编程(读后笔记)
pppaass
这个作者很懒,什么都没留下…
展开
-
第十章 同步设备I/O和异步设备I/O
一、目的 解决线程请求I/O设备和I/O设备响应线程的性能问题二、打开设备 CreateFile 可以打开文件,目录,逻辑磁盘驱动器,物理磁盘驱动器,串口(通过电话线传输数据),并口(将数据传输至打印机)三、关闭设备 CloseHandle四、与设备通信 1、使用等待的方式 WaitForSingleObject 等待设原创 2014-11-30 17:31:53 · 379 阅读 · 0 评论 -
第八章 用户模式下的线程同步
一、目的 多线程下需要保持共享资源的一致性。二、原子访问 InterlockedExchangeAdd(i) = i++; 第一步将i放进寄存器中;第二步i+1;第三步将寄存器中的值写进i; 利用上述函数则可以防止三步被打断。三、旋转锁 一个线程设置一个while循环不停的访问一个全局变量。原创 2014-11-29 20:55:55 · 397 阅读 · 0 评论 -
第四章 进程
一、一个进程的生与死原创 2014-11-11 22:19:41 · 366 阅读 · 0 评论 -
第七章 线程调度、优先级和关联性
一、ResumeThread 1、唤醒线程,将挂起计数减一。 2、无法自己唤醒自己二、SuspendThread 1、挂起线程,将挂起计数加一。 2、可以自己挂起自己。 3、它是异步的。 4、需要防止产生锁。三、Sleep 1、让一个线程睡眠一段时间。原创 2014-11-26 21:24:38 · 545 阅读 · 0 评论 -
第六章 线程
一、线程的生命周期 1、主线程调用 CreateThread 2、内核记数为2(一个是句柄的,一个是线程函数的) 3、NTDLL.DLL调用RtlUserThreadStart 启动线程函数 4、或者线程函数返回,线程生命周期结束 5、或者线程自己调用ExitThread 杀死自己 6、或者其他线程调用原创 2014-11-26 20:41:33 · 335 阅读 · 0 评论 -
第二章 字符和字符串处理
一、概述原创 2014-11-08 17:59:52 · 358 阅读 · 0 评论 -
第五章 作业
一、什么是作业 wind原创 2014-11-16 19:36:34 · 392 阅读 · 0 评论 -
第一章 错误处理
一、概述windo原创 2014-11-08 17:12:12 · 345 阅读 · 0 评论 -
第三章 内核对象
一、内核对象原创 2014-11-09 22:18:54 · 474 阅读 · 0 评论 -
第十九章 DLL基础
一、目的 在应用程序调用DLL中的函数之前、必须把该DLL映射到进程的地址空间中。分两种方式:隐式链接和显示运行时链接。二、隐式链接 1、DLL模块显式声明需要导出的函数和变量(dllexport) 2、DLL模块根据导出的内容生成导出段 rodinal(函数编号:GetProcAddress可以用此得到函数地址)原创 2014-12-14 13:49:55 · 420 阅读 · 0 评论 -
第二十五章 异常处理
一、终止处理程序 1、样式:__try{ ...}finally{ ...}原创 2015-01-17 16:44:32 · 537 阅读 · 0 评论 -
第二十一章 DLL注入和API拦截
一、DLL注入 让另一个进程执行此进程以外的代码。 1、使用注册表注入:当User32.Dll 被映射到进程中时,会寻找AppInit_Dlls 注册表项,导入其中的DLL。 2、使用挂钩注入:调用SetWindowsHookEx。 3、使用远程线程注入:调用CreateRemoteThread。 4、使用木原创 2014-12-28 18:50:06 · 473 阅读 · 0 评论 -
第二十章 线程局部存储区
一原创 2014-12-28 17:16:18 · 311 阅读 · 0 评论 -
第十三章 Windows 内存体系结构
一、内存体系结构 windows 内存体系结构分为两部分:虚拟地址空间和物理存储器 虚拟地址空间:面向用户的指向某存储器的地址(X32 是4GB,X64是16EB);分为空指针区域(64KB)、用户指针区域(X32:2G;X64:8192G)、内核区域(操作系统代码驻留地,为所有进程共有)。 物理存储器:内存、页交换文件(使用起来像内存)、内存原创 2014-12-08 19:50:46 · 590 阅读 · 0 评论 -
第十一章 线程池
一、目的 解决线程频繁的创建和删除的性能问题二、使用线程池方式一 调用异步函数 1、TrySubmitThreadpoolCallback 向线程池注册函数 2、CreateThreadpoolWork 创建工作项 SubmitThreadpoolWork 提交工作项 3、WaitFo原创 2014-11-30 18:06:32 · 455 阅读 · 0 评论 -
第九章 使用内核对象进行线程同步
一、目的 使用内核对象进行线程同步。二、等待函数 WaitForSingleObject 等待一个内核对象被触发。三、事件内核对象 包含计数、是否自动,是否触发三个变量,用于配合等待函数。四、可等待计时器内核对象 可以定时触发回调函数。(线程APC队列)五、信号量 包含计数,最大资源计数,当前资源计原创 2014-11-29 22:18:02 · 450 阅读 · 0 评论