gpt4 book ai didi

windows - ZwQuerySystemInformation/NtQuerySystemInformation - 系统信息类5

转载 作者:可可西里 更新时间:2023-11-01 09:18:19 26 4
gpt4 key购买 nike

对于 32 位 Windows,在使用 ZwQuerySystemInformation 声明 _SYSTEM_PROCESSES 结构(系统信息类 5)之后可以很好地满足我构建进程树的目的。

typedef struct _SYSTEM_PROCESSES   
{ // System Information Class 5

ULONG NextEntryDelta;
ULONG ThreadCount;
ULONG Reserved1[6];
LARGE_INTEGER CreateTime;
LARGE_INTEGER UserTime;
LARGE_INTEGER KernelTime;
UNICODE_STRING ProcessName;
ULONG BasePriority;
ULONG ProcessId;
ULONG InheritedFromProcessId;
ULONG HandleCount;
ULONG Reserved2[2];
} SYSTEM_PROCESSES, * PSYSTEM_PROCESSES;

另一方面,它在 64 位 Windows 中运行不佳。如果我将 ProcessId 声明为 ULONG64,那么 ProcessId 的数据就正确了。为上述结构定义的数据类型是否适用于 Windows-64?

最佳答案

由于某些奇怪的原因,进程和线程 ID 在内核中是 64 位,而在 x64 上记录的 windows api 中是 32 位

如果你看SYSTEM_PROCESS_INFORMATION @ntinternals 你看到他们已经将 PID 声明为 HANDLE(指针大小)

关于windows - ZwQuerySystemInformation/NtQuerySystemInformation - 系统信息类5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3310992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com