我列举了一个进程的所有句柄。我有进程句柄,现在我想知道该句柄所针对的进程的 PID。这是我正在使用的结构:
public struct SYSTEM_HANDLE_INFORMATION
{
public int ProcessID;
public byte ObjectTypeNumber;
public byte Flags; // 0x01 = PROTECT_FROM_CLOSE, 0x02 = INHERIT
public ushort Handle;
public int Object_Pointer;
public UInt32 GrantedAccess;
}
遗憾的是,我所有句柄的 ProcessID 与我正在运行的程序(主机)的 PID 相同。它应该是 Object_Pointer,但我不知道如何使用它。现在 Object_Pointer 与 GrantedAccess 一起匹配句柄所针对的进程的对象地址 - 图片
但这很奇怪,因为 GrantedAccess 应该是进程的访问级别,而不是地址的一部分。