1.什么是内核对象
Window系统为管理文件,文件映射,互斥,管道,进程……所定义的一组数据结构,这些结构的产生是通过一些函数调用来创建的。如:CreateFileMapping。要访问这些数据结构,只能通过Win API.通过句柄与内核对象关联,为使操作更加健壮,句柄值与进程密切相关。
2.内核对象的性质
- 使用计数:当一个对象创建的时候,它的使用计数被置为1,当另一个进程访问时,加1,终止(调用CloseHandle)时减1,当为0时,内核对象撤销。
- 安全性:创建内核对象的函数都有一个SECURITY_ATTRIBUTES 结构的指针作为参数
3.进程的内核对象句柄表
每个进程启动时会构造一个内核对象表
索 引 | 内核对象内存块 | 访问屏蔽 | 标志 |
1 | 0 x F 0 0 0 0 0 0 0 0 | 0 x ? ? ? ? ? ? ? ? | 0 x00000000 |
4.跨进程共享内核对象
- 对象句柄继承性
- 命名对象
- 复制对象句柄