Windows应用程序系统机制解析
1. 内核处理与调试相关机制
当内核产生新的重复进程和/或线程句柄(即两个创建事件)时,会分配一个结构来存储进程ID、线程ID以及与该事件关联的线程和/或进程句柄。这个结构会链接到线程环境块(TEB)中的第一个DbgSsReserved数组索引处,此处也是存储调试对象句柄的地方。同样,KernelBase.dll也会检查退出事件,当检测到此类事件时,会在数据结构中“标记”这些句柄。
当调试器使用完句柄并执行继续调用后,KernelBase.dll会解析这些结构,查找线程已退出的句柄,并为调试器关闭这些句柄。否则,如果调试器正在运行,由于始终存在对这些线程和进程的打开句柄,它们将永远不会退出。
2. 打包应用程序的发展
从Windows 8开始,需要一些能在不同设备(从手机到Xbox再到成熟的个人计算机)上运行的API。Windows开始为使用不同平台和CPU架构(如ARM)的新设备类型进行设计。Windows 8首次引入了一种新的与平台无关的应用程序架构——Windows Runtime(简称“WinRT”)。WinRT支持使用C++、JavaScript和托管语言(如C#、VB.Net等)进行开发,基于COM,并且原生支持x86、AMD64和ARM处理器。
通用Windows平台(UWP)是WinRT的演进。它旨在克服WinRT的一些限制,并构建在其之上。UWP应用程序不再需要在清单中指明是为哪个操作系统版本开发的,而是针对一个或多个设备系列。
UWP为其应用程序提供了多项服务:
- 自适应控件和输入 :图形元素会根据屏幕的大小和D
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



