1. 内核对象包括:访问令牌(access token)、事件、文件、文件映射、I/O完成端口、作业、邮件槽、互斥量、管道、进程、线程、信号量、可等待的计时器、线程池工厂
2.既然是内核对象,当然是只有内核能访问,那么进程想要访问咋办呢~答案就是句柄。每个进程在初始化时,系统都会为它分配一个句柄表,里面记录了可以访问对应内核对象的指针,这样只要进程访问句柄,那么从应用层切到内核时,访问的就是对应的内核对象啦
3.跨进程共享内核对象的方法:(其实就是共享句柄所指的内核对象)
1)继承对象句柄:父进程创建子进程时,设置继承关系(就能在子进程的句柄表里复制一个内核对象的句柄),那么子进程也可以访问啦
2)使用命名对象:不同进程使用相同名字访问对象,就可以啦~但是呢,这种是类似全局的一个变量,所有进程都可以访问,所以万一哪个家伙想干坏事。。emmm~ 而且并不是所有的内核对象都是可以命名的哦
3)复制对象句柄:比较常用~B进程通过DuplicateHandle复制A进程的句柄,就可以在B进程的句柄表里创建同一个对象的句柄,A与B进程的句柄值基本是不会相同的,不过指向的对象是同一个