内核对象
来源:互联网 发布:场矩阵布列松陈 编辑:程序博客网 时间:2024/04/30 01:39
15:23:54 内核对象
内核对象是一个内存块,有操作系统分配,这个内存块是一个数据结构,存放着对象的相关信息。
用于创建内核对象的所有函数几乎都有一个指向一个SECURITY_ATTRIBUTES结构的指针
进程内核对象句柄表
一个进程初始化时,系统会为他分配一个句柄表,刚开始为空,当第一个线程创建一个内核对象时,内核为这个对象分配并初始化一个内存块。然后扫描进程句柄表,查找一个空白记录项,将指针赋值为内核对象的内存地址。
索引
指向内核对象的指针
访问掩码
标志
1
2
从上可以看出,可以通过索引来获得内核对象的指针。要得到索引值,应该用句柄值除以4。由于句柄值实际是作为进程句柄表的索引来使用的,所以其他进程无法使用。
关闭内核对象
closeHandle(HANDLE Hobject)
跨进程共享内核对象:
1、对象句柄继承
只有句柄可以继承,对象本身是不能继承的。只有进程之间是父子关系才可以实现句柄继承。
设置方式如下:
此时系统会遍历父进程的句柄表,将可以继承的句柄复制到子进程的句柄表中。系统会递增内核对象的使用计数。为了销毁对象,父子进程都必须调用closeHandle来关闭内核对象。
2、复制对象句柄
DumplicateHandle();
http://baike.baidu.com/view/1285868.htm
END
2010-09-02 15:24:01
- 内核对象
- 内核对象
- 内核对象
- 内核对象
- 内核对象
- 内核对象
- 内核对象
- 内核对象
- 内核对象
- 内核对象
- 内核对象
- 内核对象
- 内核对象
- 内核对象
- 内核对象
- 内核对象
- 内核对象
- -内核对象
- 在Winform 中拖动控件
- 该做什么样的选择
- oracle建立学生,课程以及选课表并进行插入查询操作
- accumulate, copy, vector::push_back(STL Sample)
- 大话设计模式----装饰模式笔记
- 内核对象
- integrated Windows authentication is not enabled
- C# WinForm控件的拖动和缩放的实现
- 【TCP-IP详解卷一:协议】一、概述
- div图片img与div容器下有距离的处理办法
- JavaScript prototype属性与修改对象
- FireFox下载文件时文件名乱码的解决办法
- SQL Server Logins and Users - Orphaned Users
- Qt 弹出对话框方法