什么是内核对象
常见内核对象
存取符号对象,时间对象,文件对象,文件映射对象
I/O完成端口对象,作业对象,信箱对象,互斥对象,管道对象
进程对象,信标对象,线程对象和等待计时器对象
内核对象本质
内核对象时内核分配的一个内存块,并且该内存块只能被内核访问
该内存块是一种数据结构,它的成员负责维护内核对象的各种信息
有些数据成员(如安全性描述符,使用计数)在所有内核对象中是相同的;但大多数数据成员是该内核对象特有的
进程对象数据成员:进程ID一个,基本优先级一个,退出代码一个;文件对象数据成员:字节位移一个,共享模式一个,打开模式一个;
操作内核对象
应用程序无法直接修改内核对象,无法在内存中找到内核内存块
windows提供了一组函数操作内核对象,应用程序通过这组函数访问内核对象
调用一个创建内核对象的函数时,就可以得到一个标识该对象的句柄
进程中任何线程可以使用这个句柄,将这个句柄传递给windows各个函数,系统便会对该内核对象做对应操作
参考文献:
《windows核心编程》第三章