内核对象
- 像进程、线程、文件、互斥体、事件等在内核都有一个对应的结构体,这些结构体由内核负责管理。我们管这样的对象叫做内核对象。
管理内核对象
- 每个进程都有一个句柄表
- 用户层通过句柄表来操作内核层的结构体
- 句柄表属于进程(EPROCESS)对象,每个进程拥有自己的句柄表。
- 多进程可以共享一个内核对象,CreateProcess()和OpenProcess()
- 句柄能否被子进程继承
- 句柄本身可继承(
SECURITY_ATTRIBUTES.bInheritHandle = TRUE或通过其他方式设置句柄可继承属性)。 - 创建子进程时允许继承句柄(
CreateProcess的bInheritHandles = TRUE)。
- 句柄本身可继承(
关于本文
由 GuQing 撰写,采用 CC BY-NC 4.0 许可协议。