Windows 核心编程 _ 作业
作业 概述 作业可以让我们将一组进程当作一个实体来处理。 Windows提供的作业(job)内核对象,允许我们将进程组合在一起并创建一个“沙箱”来限制进程能够做什么。 我们可以创建一个只包含一个进程的作业,来对进程施加平时不能施加的限制。 只含一个进程的作业 这么做的目的是为了对...
作业 概述 作业可以让我们将一组进程当作一个实体来处理。 Windows提供的作业(job)内核对象,允许我们将进程组合在一起并创建一个“沙箱”来限制进程能够做什么。 我们可以创建一个只包含一个进程的作业,来对进程施加平时不能施加的限制。 只含一个进程的作业 这么做的目的是为了对...
关于圆角 没有子窗口 如果SOUI的宿主窗口没有包含子窗口,直接使用窗口的半透明属性:translucent=1就可以解决了,整个窗口形状完全由背景图决定,可以实现完美的圆角。 有子窗口 窗口半透明时,窗口中的子窗口(非SWindow)就不能正常显示,所以有时候不得不使用tran...
ETW(Event Tracing for Windows) 概述 ETW是Windows提供的高性能内核级事件追踪机制,能够以极低开销(通常<5% CPU)实时捕获系统和应用程序事件 ETW架构核心组件 事件生产者 内核级 系统组件(如进程管理器、TCP/IP协议栈) 用...
调试器 关于调试器。 调试器类型 用户态调试器 内核态调试器 用户态调试器 查看调试目标的状态 线程、内存、寄存器以及进程空间中打开的内核对象等 修改调试目标的状态 实时调试 分析包含进程快照的转储文件 事后调试 调试工具 cdb.exe 字符界面 可以对windows用户态的内...
简述 在Windows中,DLL(动态链接库)可以请求操作系统卸载自己,但这样做是有风险的 要确保在DLL被卸载后不再访问任何DLL内部的资源或函数 FreeLibrary 如果在test.dll的某个函数里面,获取到test.dll的句柄后,调用FreeLibrary释放了te...
Windows小功能 隐藏桌面快捷方式小箭头 下面方法,win7,win10,win11测试可以 备注 这里是把一个空白ico资源文件打到DLL里面了,资源ID是101,所以用GetCurrentDllPath进行拼接 控制桌面图标的显示或隐藏 下面方法,win7,win10,w...
遗弃问题 互斥量概述 互斥量与所有其他内核对象有所不同,这是因为它们具有“线程所有权”的概念。 换句话说,互斥量会记住自己是哪个线程等待成功的。 互斥量的这种特殊性,使得它即使在未触发的状态下,也能为线程所获得。 什么是遗弃问题 当线程调用ReleaseMutex的时候,函数会检...
有窗口句柄的子窗口 IRealWndHandler 实现 xml 消息响应 由于真窗口是SOUI主窗口的子窗口,因此真窗口的消息可以在SOUI主窗口的消息映射表中处理。 注意 有真窗口时,SOUI主窗口不能设置translucent="1",因为任何子窗口在半...
示例代码 WinDbg分析 启动调试 编译并运行程序 使用VS编译生成test.exe,并双击运行 附加到进程 启动 WinDbg,选择 File > Attach to Process,找到并选择运行的死锁程序 暂停程序执行 在 WinDbg 中,点击工具栏上的暂停按钮 ...
进程地址空间 概述 Windows 进程地址空间和 Linux 一样采用虚拟地址空间,每个进程有独立的虚拟地址空间,由 Windows 内核和硬件 MMU 联合管理 核心区别在于: Windows 使用 PE(Portable Executable)格式代替 ELF 使用 Hea...
搜索当前标签