一.WinSDK
1.WinSDK初始化
二.错误检测
Windows函数失败之后,应该马上调用GetLastError(),成功调用的Windows函数会用ERROR_SUCCESS改写此值
在 Visual Studio 的 Watch 窗口中使用 $err,hr 可以查看当前线程的上一个错误代码
三.内核对象
Windows开发经常要创建 打开和处理内核对象
比如访问令牌(access token)对象
事件对象
文件对象:CreateFile()
文件映射对象:CreateFileMapping()
I/O完成端口对象
作业对象
邮件槽(mailslot)对象
互斥量(mutex)对象
管道(pipe)对象
进程对象
信号量(semaphore)对象:CreateSemaphore()
线程对象:CreateThread()
可等待的计时器(waitable timer)对象
线程池工厂(thread pool worker factory)对象等
每个内核对象都只是一个内存块,它由操作系统内核分配,并只能由操作系统内核访问。这个内存块是一个数据结构,由于内核对象的数据结构只能由操作系统内核访问,所以应用程序不能在内存中定位这位数据结构并直接更改其内容,只能由Windows提供的函数接口来访问