Для 32-битной Windows следующее объявление структуры _SYSTEM_PROCESSES
(System Information Class 5) с ZwQuerySystemInformation
отлично работает для моей цели построения дерева процессов.
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?