
Windows 核心编程 _ 内核对象:线程同步三
遗弃问题 互斥量概述 互斥量与所有其他内核对象有所不同,这是因为它们具有“线程所有权”的概念。 换句话说,互斥量会记住自己是哪个线程等待成功的。 互斥量的这种特殊性,使得它即使在未触发的状态下,也能为线程所获得。 什么是遗弃问题 当线程调用ReleaseMutex的时候,函数会检...
遗弃问题 互斥量概述 互斥量与所有其他内核对象有所不同,这是因为它们具有“线程所有权”的概念。 换句话说,互斥量会记住自己是哪个线程等待成功的。 互斥量的这种特殊性,使得它即使在未触发的状态下,也能为线程所获得。 什么是遗弃问题 当线程调用ReleaseMutex的时候,函数会检...
有窗口句柄的子窗口 IRealWndHandler 实现 xml 消息响应 由于真窗口是SOUI主窗口的子窗口,因此真窗口的消息可以在SOUI主窗口的消息映射表中处理。 注意 有真窗口时,SOUI主窗口不能设置translucent="1",因为任何子窗口在半...
示例代码 WinDbg分析 启动调试 编译并运行程序 使用VS编译生成test.exe,并双击运行 附加到进程 启动 WinDbg,选择 File > Attach to Process,找到并选择运行的死锁程序 暂停程序执行 在 WinDbg 中,点击工具栏上的暂停按钮 ...
终止进程 方法 主线程的入口点函数返回。 进程中的一个线程调用ExitProcess函数(要避免这种方式)。 另一个进程中的线程调用TerminateProcess函数(要避免这种方式)。 进程中的所有线程都“自然死亡”(几乎从来不会发生)。 入口点函数返回 让主线程的入口点函数...
简介 组件对象模型(COM)是一个独立于平台的分布式面向对象的系统,用于创建可交互的二进制软件组件 是OLE(复合文档),ActiveX(Internet组件)等的基础技术 不是一种语言,而是一种标准,用于创建运行时进行交互的可重用的软件库,无须编译到应用程序中,即可使用COM库...
Windows进程线程模型 进程 概述 Windows中进程是程序执行的实例,包含代码、数据、资源(如内存、文件句柄)以及独立的内存空间 每个进程拥有唯一的进程环境块(PEB),用于维护进程状态和资源信息 进程内核对象(PCB) 由内核管理的不可见数据结构,记录进程优先级、状态(...
文档地址 https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debugger-commands 语法规则 大小写可以任意组合 一个或多个空格,或,来分隔命令参数 符号文件 srv*d:\MySer...
Windows用户权限 标准用户 普通用户的权限被限制,以防止他们进行可能影响系统稳定性、安全性或其他用户的操作 不能修改系统设置,例如时间、日期或安装新的设备驱动程序 普通用户可能无法安装或卸载应用程序 只能访问自己的文件和某些公共文件,但不能访问其他用户的文件或系统文件 普通...
基础 NASM 开源、跨平台汇编器(支持 Windows、Linux、macOS) 特点 语法简洁严格(如内存访问必须用 [ ] 包裹) 无自动类型推断(需显式指定操作数大小,如 mov word [var], 1) 支持直接生成纯二进制文件(如引导扇区程序) 应用 操作系统开发...
可等待的计时器内核对象 概述 可指定的计时器内核对象会在某个指定的时间触发,或者每隔一段时间触发一次,通常被用来在某个时间执行一些操作。 函数 第二个参数表示将要创建的是一个手动重置计时器还是一个自动重置计时器。 当手动重置计时器被触发的时候,正在等待该计时器的所有线程都会变成可...
搜索当前标签