首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZwQuerySystemInformation / NtQuerySystemInformation -系统信息类5

ZwQuerySystemInformation / NtQuerySystemInformation -系统信息类5
EN

Stack Overflow用户
提问于 2010-07-23 00:19:18
回答 1查看 5.3K关注 0票数 3

对于32位视窗,使用ZwQuerySystemInformation声明_SYSTEM_PROCESSES结构(系统信息类5)可以很好地构建进程树。

代码语言:javascript
复制
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?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-23 04:01:18

出于某种奇怪的原因,进程和线程id在内核中为64位,在x64上的文档中为32位。

如果你查看SYSTEM_PROCESS_INFORMATION @ ntinternals,你会看到它们已经将PID声明为句柄(指针大小)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3310992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档