windows核心编程
文章平均质量分 74
湖中青影
爱技术,喜读书,常运动
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线程同步-用户模式下同步(原子锁、临界区、读写锁)
一、线程同步当所有的线程都能够独自运行而不需要相互通信的时候,Windows将进入最佳运行状态。但是,很少有线程能够总是独自运行。通常创建线程是为了处理某些任务,当任务完成的时候,另一个线程可能想要得到通知。 系统中所有的线程必须访问系统资源,比如堆、串口、文件、窗口以及无数其他资源,如果一个线程独占了对某个资源的访问,那么其他线程都无法对某个资源的访问。线程需要相互通信的情况 需要让duoge原创 2017-07-29 15:13:47 · 1074 阅读 · 0 评论 -
线程同步——内核对象(互斥、事件、信号量、可等待计时器)
三、内核模式下的线程同步Windows系统中有多种机制可用于线程同步,它们一般都被称之为内核对象(并非全部),一般我们常用的有以下几种: 互斥对象(Mutex)事件对象(Event)信号量(Semaphore)可等待计时器(Waitable Timer)0.等待函数WaitForSingleObject 等待函数的作用是使一个线程进入到等待状态,直到指定的内核对象被触发为止,其函数原原创 2017-07-31 12:55:15 · 1625 阅读 · 0 评论 -
Windows核心编程-CreateFile详解
文件内核对象各种设备及其常见用途: 设备 常见用途 文件 永久存储任何数据 目录 属性和文件压缩的设置 逻辑磁盘驱动器 格式化驱动器 物理磁盘驱动器 访问分区表 串口 通过电话线传输数据 并口 将数据传输至打印机 邮件槽 一对多数据传输,通常是通过网络传到另一台运行Windows机器上 命名管道 一对一数据传输,通常是通过网络传到原创 2017-08-02 06:58:57 · 27249 阅读 · 1 评论 -
1.Windows核心编程-基础知识
1. 错误处理原理1. 错误获取Windows函数错误处理方式:调用 Windows 函数时,它会先验证我们传给它的参数,然后再开始执行任务。如果传入参数无效,或者由于其他原因导致操作无法执行,则函数的返回值将指出函数因为某些原因失败了。常见的Windows函数返回值数据类型 数据类型 含义 VOID 意味该函数的执行不可能失败 BOOL 失败返回 0,成功返回非 0 值原创 2017-07-26 10:53:10 · 807 阅读 · 0 评论 -
1.1 Windows核心编程-几个宏的解读
示例代码//代码示例片段1DWORD systemLocale = MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL);//代码示例片段2switch (uMsg) { chHANDLE_DLGMSG(hwnd, WM_INITDIALOG, Dlg_OnInitDialog); chHANDLE_DLGMSG(hwnd, WM_COMMA原创 2017-07-26 10:55:51 · 773 阅读 · 0 评论 -
2.1 Windows核心编程-进程UAC下以管理员权限运行
从NT6.0开始,微软为了提高安全防护增加了非常多的新机制,其中对普通用户层开发人员影响最大的就是”用户账户控制系统(User Account Control , UAC)”如果想让自己的程序默认以指定权限运行,可以通过修改VS工程的属性来达到目地:[属性]>[链接器]>[清单文件]>[UAC执行级别] 值 说明 requireAdministrator 应用程序须以管理员权限运行否则原创 2017-07-27 16:13:14 · 3789 阅读 · 0 评论 -
2. Windows核心编程-进程概念及操作
进程概念一般将进程定义成一个正在运行的程序的一个实例,它由以下两个组件构成: 一个内核对象,操作系统用它来管理进程。内核对象也是保存进程统计信息的地方;一个地址空间,其中包含所有执行体(executable)或 DLL模块的代码和数据。此外还包含动态内存分配,比如线程堆栈和堆的分配。 进程是资源的容器,其任务的真正执行体是线程。一个进程可以有多个线程,至少有一个线程。每个线程都有自己的一组C原创 2017-07-27 14:56:06 · 410 阅读 · 0 评论 -
3.Windows核心编程-线程及线程调度
线程与进程类似,线程也由两个组件组成: 一个是线程的内核对象,操作系统用它管理线程。内核对象还是系统用来存放线程统计信息的地方;一个线程堆栈,用于维护线程执行时所需的所有函数参数和局部变量。//线程函数//创建线程HANDLE CreateThread( PSECURITY_ATTRIBUTES psa, //线程安全属性 DWORD原创 2017-07-28 14:18:36 · 2283 阅读 · 0 评论
分享