0什么是内核对象
一个内存块 一种数据结构 用来记录该对象的一些信息。
句柄来指示一个对象
1 用计数来维持其生命周期
2内核对象句柄表 用来管理一个进程中所有的内核对象
索引 内核对象内存块指针 访问屏蔽 标志
2.1 创建内核对象 找到句柄表中一个可用项 将其初始化
2.2关闭内核对象 引用计数控制
3 对象句柄的继承
3.1.父进程创建内核对象是要表明此对象是否允许其继承。
父进程创建子进程的时候 将一个可继承标记传给create表示允许子进程使用其内核对象。
子进程在被创建时发现如果有可继承标记,讲遍历父进程中所有可以继承的内核对象,并讲其精确拷贝到相应位置,引用计数增加,复制其他标志。
3.2改变句柄标志。
3.3 命名对象 在create函数最后一个参数 给对象赋予名字。使用create 函数的时候会先检查是否有一个名字相同且同样类型的内核对象已经存在,存在且可以访问则在句柄表中为其初始化。
3.4 终端服务器的名字空间 Global 和 Local 作为名字空间保留字关键字
3.5复制对象句柄duplicatehandle()