Windows 核心编程 第3章学习笔记

来源:互联网 发布:爱子在日本知乎 编辑:程序博客网 时间:2024/05/13 07:33

0什么是内核对象

一个内存块 一种数据结构 用来记录该对象的一些信息。

句柄来指示一个对象

1 用计数来维持其生命周期

2内核对象句柄表 用来管理一个进程中所有的内核对象

索引         内核对象内存块指针     访问屏蔽         标志

2.1 创建内核对象 找到句柄表中一个可用项 将其初始化

2.2关闭内核对象 引用计数控制

3 对象句柄的继承

3.1.父进程创建内核对象是要表明此对象是否允许其继承。

父进程创建子进程的时候 将一个可继承标记传给create表示允许子进程使用其内核对象。

子进程在被创建时发现如果有可继承标记,讲遍历父进程中所有可以继承的内核对象,并讲其精确拷贝到相应位置,引用计数增加,复制其他标志。

3.2改变句柄标志。

3.3 命名对象 create函数最后一个参数 给对象赋予名字。使用create 函数的时候会先检查是否有一个名字相同且同样类型的内核对象已经存在,存在且可以访问则在句柄表中为其初始化。

3.4 终端服务器的名字空间 Global Local 作为名字空间保留字关键字

3.5复制对象句柄duplicatehandle()

原创粉丝点击