内核对象

看了Windows核心编程我暂时理解如下:

1.内核对象是系统维护的,可以多个进程访问。但是不可以通过多个进程之间传递句柄访问。创建进程后,系统会为每个进程维护一个内核对象句柄表,存放的是索引和内核对象地址。 不同进程索引肯定不同

2 当一CloseHandle之后内核对象不一定销毁,而是本进程的内核对象引用次数-1销毁。这样也理解了,程序结束后,本程序的所有资源会释放,但不代表内核对象释放。除非引用为0

3 理解用户对象,GDI对象,内核对象(大多带有 SECURITY_ATTRIBUTTS)

表3-1 进程的句柄结构
索引内核对象内存块访问屏蔽标志
的指针(标志位的D W O R D) (标志位的D W O R D)
1 0 x ? ? ? ? ? ? ? ? 0 x ? ? ? ? ? ? ? ? 0 x ? ? ? ? ? ? ? ?
2 0 x ? ? ? ? ? ? ? ? 0 x ? ? ? ? ? ? ? ? 0 x ? ? ? ? ? ? ? ?
⋯ ⋯ ⋯ ⋯
3.2.1 创

你可能感兴趣的:(内核对象)