《windows核心编程》笔记——内核对象

1. 内核对象包括:访问令牌(access token)、事件、文件、文件映射、I/O完成端口、作业、邮件槽、互斥量、管道、进程、线程、信号量、可等待的计时器、线程池工厂

2.既然是内核对象,当然是只有内核能访问,那么进程想要访问咋办呢~答案就是句柄。每个进程在初始化时,系统都会为它分配一个句柄表,里面记录了可以访问对应内核对象的指针,这样只要进程访问句柄,那么从应用层切到内核时,访问的就是对应的内核对象啦

3.跨进程共享内核对象的方法:(其实就是共享句柄所指的内核对象)

1)继承对象句柄:父进程创建子进程时,设置继承关系(就能在子进程的句柄表里复制一个内核对象的句柄),那么子进程也可以访问啦

2)使用命名对象:不同进程使用相同名字访问对象,就可以啦~但是呢,这种是类似全局的一个变量,所有进程都可以访问,所以万一哪个家伙想干坏事。。emmm~ 而且并不是所有的内核对象都是可以命名的哦

3)复制对象句柄:比较常用~B进程通过DuplicateHandle复制A进程的句柄,就可以在B进程的句柄表里创建同一个对象的句柄,A与B进程的句柄值基本是不会相同的,不过指向的对象是同一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值