6

这种结构从何而来?我知道它是在著名的 ntdll.h 中声明的,并且是未记录的 Windows API 的一部分。但是不同版本的windows之间是不是有所不同?有没有办法从工作系统中转储这个结构?我在 Windbg 中尝试了“dt SYSTEM_HANLDE_INFORMATION”,在 SoftIce 中尝试了“类型 SYSTEM_HANLDE_INFORMATION”,但我得到的只是“没有这样的符号”消息。我还用 PdbDump.exe 转储了 ntoskrnl.pdb,并在转储的结构中进行了搜索——既找不到 SYSTEM_HANLDE_INFORMATION 也找不到 SYSTEM_HANLDE。

你可以帮帮我吗?

4

1 回答 1

6

You can refer to this paper on CodeProject on querying all open handles to files, where it is defined as:

typedef struct _SYSTEM_HANDLE
{
    DWORD    dwProcessId;
    BYTE     bObjectType;
    BYTE     bFlags;
    WORD     wValue;
    PVOID    pAddress;
    DWORD    GrantedAccess;
}
SYSTEM_HANDLE;
于 2011-03-02T04:08:04.760 回答