一个非常简单的问题,如果我HANDLE在app1.exe中创建并获得值,那么该值0x01是全局唯一的吗?
或者,当某个其他流程创建HANDLE具有价值的流程时,它是否可能0x01.
如果它们不是唯一的,那么我可以使用其他构造来获得与句柄兼容的唯一ID(这样HANDLE在其他地方创建具有该id的不可能或极不可能).
要理解的重要一点是句柄不是对象.句柄是每个进程对象表的指针(或索引).为了回答你的问题,HANDLES并不是全局唯一的,但是它们的范围仅限于在特定过程中有意义.
要使任何内核对象能够从其他进程访问,您必须使用DuplicateHandle.
跨进程共享对象的另一种方法是调用CreateProcess,并将bInheritHandles设置为true.
| 归档时间: |
|
| 查看次数: |
425 次 |
| 最近记录: |