SYSTEM_PROCESS_INFORMATION - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _NTEXAPI_H

typedef struct _SYSTEM_PROCESS_INFORMATION
{
    ULONG NextEntryOffset;
    ULONG NumberOfThreads;
    LARGE_INTEGER WorkingSetPrivateSize; // since VISTA
    ULONG HardFaultCount; // since WIN7
    ULONG NumberOfThreadsHighWatermark; // since WIN7
    ULONGLONG CycleTime; // since WIN7
    LARGE_INTEGER CreateTime;
    LARGE_INTEGER UserTime;
    LARGE_INTEGER KernelTime;
    UNICODE_STRING ImageName;
    KPRIORITY BasePriority;
    HANDLE UniqueProcessId;
    HANDLE InheritedFromUniqueProcessId;
    ULONG HandleCount;
    ULONG SessionId;
    ULONG_PTR UniqueProcessKey; // since VISTA (requires SystemExtendedProcessInformation)
    SIZE_T PeakVirtualSize;
    SIZE_T VirtualSize;
    ULONG PageFaultCount;
    SIZE_T PeakWorkingSetSize;
    SIZE_T WorkingSetSize;
    SIZE_T QuotaPeakPagedPoolUsage;
    SIZE_T QuotaPagedPoolUsage;
    SIZE_T QuotaPeakNonPagedPoolUsage;
    SIZE_T QuotaNonPagedPoolUsage;
    SIZE_T PagefileUsage;
    SIZE_T PeakPagefileUsage;
    SIZE_T PrivatePageCount;
    LARGE_INTEGER ReadOperationCount;
    LARGE_INTEGER WriteOperationCount;
    LARGE_INTEGER OtherOperationCount;
    LARGE_INTEGER ReadTransferCount;
    LARGE_INTEGER WriteTransferCount;
    LARGE_INTEGER OtherTransferCount;
    SYSTEM_THREAD_INFORMATION Threads[1]; // SystemProcessInformation
    // SYSTEM_EXTENDED_THREAD_INFORMATION Threads[1]; // SystemExtendedProcessinformation
    // SYSTEM_EXTENDED_THREAD_INFORMATION + SYSTEM_PROCESS_INFORMATION_EXTENSION // SystemFullProcessInformation
} SYSTEM_PROCESS_INFORMATION, *PSYSTEM_PROCESS_INFORMATION;

#endif

View code on GitHub

Structure SYSTEM_PROCESS_INFORMATION contains list of processes and threads and it's available via NtQuerySystemInformation function with SystemProcessInformation information class.

NextEntryOffset

Offset from beginning of output buffer to next process entry. On last entry contains zero.

NumberOfThreads

Number of process'es threads. Also number of members in Threads array described below.

Reserved[3]

Reserved.

CreateTime

Process creation time, in 100-ns units.

UserTime

Effective time in User Mode.

KernelTime

Effective time in Kernel Mode.

ImageName

Process name, based on executable file name.

BasePriority

Process base priority.

ProcessId

Unique identifier of process.

InheritedFromProcessId

Creator's identifier.

HandleCount

Nr of open HANDLEs.

Reserved2[2]

Reserved.

PrivatePageCount

Number of memory pages assigned to process.

VirtualMemoryCounters

Memory performance counters.

IoCounters

IO performance counters.

Threads[0]

Array of SYSTEM_THREAD structures describing process's threads.

Documented by

See also