windows核心编程第三章阅读 内核对象
2012-05-17 15:33
267 查看
1.每个内核对象都只是一个内存块,它由操作系统内核分配,并只能由操作系统内核访问。
这个内存块是一个数据结构,其成语维护着与对象相关的信息。
少数成员(安全描述符和使用计数等)是所有对象都有的,但其他大多数成员都是不同类型的对象特有的。
2.由于内核对象的数据结构只能由操作系统内核访问,所以应用程序不能再内存中定位这些数据结构并直接修改其内容。
由于应用程序不能更改内核对象,所以windows提供了一组函数来完成这些功能。
3内核对象的句柄值 是与进程相关的,一个进程的句柄 传到另一个进程里面 就会出错。
4
内核对象由内核所拥有,而不是由进程所拥有。换句话说,如果你的进程调用了一个创建内核对象的函数,然后你的进程终止运行,那么内核对象不一定被撤消。在大多数情况下,对象将被撤消,但是如果另一个进程正在使用你的进程创建的内核对象,那么该内核知道,在另一个进程停止使用该对象前不要撤消该对象,必须记住的是,内核对象的存在时间可以比创建该对象的进程长。使用计数是所有内核对象类型常用的数据成员之一。
5.内核对象的安全性
内核对象可以拥有一个安全描述符来保护。安全描述符描述了谁拥有对象(一般是创建者拥有);描述符指出哪个组或用户可以访问此对象.若想了解一个对象是用户对象/GDI还是内核对象 一般通过创建函数,如果创建函数的参数有,指向安全的(PSECURITY_ATTRIBUTES),一般为内核对象
6在创建进程的时候,系统将分配个句柄表。这个句柄表只为内核对象使用
这个内存块是一个数据结构,其成语维护着与对象相关的信息。
少数成员(安全描述符和使用计数等)是所有对象都有的,但其他大多数成员都是不同类型的对象特有的。
2.由于内核对象的数据结构只能由操作系统内核访问,所以应用程序不能再内存中定位这些数据结构并直接修改其内容。
由于应用程序不能更改内核对象,所以windows提供了一组函数来完成这些功能。
3内核对象的句柄值 是与进程相关的,一个进程的句柄 传到另一个进程里面 就会出错。
4
内核对象由内核所拥有,而不是由进程所拥有。换句话说,如果你的进程调用了一个创建内核对象的函数,然后你的进程终止运行,那么内核对象不一定被撤消。在大多数情况下,对象将被撤消,但是如果另一个进程正在使用你的进程创建的内核对象,那么该内核知道,在另一个进程停止使用该对象前不要撤消该对象,必须记住的是,内核对象的存在时间可以比创建该对象的进程长。使用计数是所有内核对象类型常用的数据成员之一。
5.内核对象的安全性
内核对象可以拥有一个安全描述符来保护。安全描述符描述了谁拥有对象(一般是创建者拥有);描述符指出哪个组或用户可以访问此对象.若想了解一个对象是用户对象/GDI还是内核对象 一般通过创建函数,如果创建函数的参数有,指向安全的(PSECURITY_ATTRIBUTES),一般为内核对象
6在创建进程的时候,系统将分配个句柄表。这个句柄表只为内核对象使用
相关文章推荐
- Windows核心编程 第三章 内核对象
- 【windows核心编程】 第三章 内核对象
- windows核心编程第三章学习事件内核对象代码
- WINDOWS核心编程--读书笔记:第三章 内核对象
- Windows核心编程 第三章 内核对象
- WINDOWS核心编程第三章内核对象的一点细节
- 读书笔记----《windows核心编程》第三章 内核对象1(句柄与安全性)
- 【windows核心编程】 第三章 内核对象
- windows核心编程第三章--内核对象
- 《Windows核心编程》学习——内核对象
- 《Windows核心编程》读书笔记三 内核对象
- Windows核心编程:(一)内核对象
- windows程序设计 and windows核心编程(内核对象理论)
- windows核心编程--内核对象
- Windows核心编程 第九章 线程与内核对象的同步(下)
- 第三章:内核对象
- Windows核心编程:用内核对象进行线程同步
- 第三章 内核对象(1)
- 第三章 内核对象(1)
- 《windows核心编程》第三讲 内核对象(1)内核对象简介