A few more return structures for NtQuerySystemInformation

svn path=/trunk/; revision=921
This commit is contained in:
Emanuele Aliberti 2000-01-06 13:17:48 +00:00
parent 4d8c6a710b
commit 462fe323eb

View file

@ -135,9 +135,11 @@ typedef struct _LPCMESSAGE
#define SystemPerformanceInformation 2 #define SystemPerformanceInformation 2
#define SystemInformation3 3 #define SystemInformation3 3
#define SystemProcessInformation 5 #define SystemProcessInformation 5
#define SystemGlobalFlagInformation 9
#define SystemDriverInformation 11 #define SystemDriverInformation 11
#define SystemPageFileInformation 18 #define SystemPageFileInformation 18
#define SystemCacheInformation 21 #define SystemCacheInformation 21
#define SystemPoolTagStatsInformation 22
#define SystemTimeAdjustmentInformation 28 #define SystemTimeAdjustmentInformation 28
#define SystemTimeZoneInformation 44 #define SystemTimeZoneInformation 44
@ -312,27 +314,63 @@ typedef struct _OBJECT_TYPE_INFORMATION
#pragma pack(2) #pragma pack(2)
typedef struct _SYSTEM_THREAD_INFORMATION typedef struct _SYSTEM_THREAD_INFORMATION
{ {
PVOID StartAddress; FILETIME ftCreationTime;
DWORD ParentPid; DWORD dwUnknown1;
DWORD Tid; PVOID dwStartAddress;
DWORD dwOwningPID;
DWORD dwThreadID;
DWORD dwCurrentPriority;
DWORD dwBasePriority;
DWORD dwContextSwitches;
DWORD dwThreadState;
DWORD dwWaitReason;
DWORD dwUnknown2 [ 5 ];
} SYSTEM_THREAD_INFORMATION, * PSYSTEM_THREAD_INFORMATION; } SYSTEM_THREAD_INFORMATION, * PSYSTEM_THREAD_INFORMATION;
typedef struct _SYSTEM_PROCESS_INFORMATION typedef struct _SYSTEM_PROCESS_INFORMATION
{ {
WORD Unknown0; DWORD dwOffset;
DWORD Unknown1; DWORD dwThreadCount;
DWORD Unknown2; DWORD dwUnknown1 [6];
ULONG ThreadCount; FILETIME ftCreationTime;
DWORD Unknown3 [10]; DWORD dwUnknown2 [5];
DWORD Pid; WCHAR * pszProcessName;
DWORD Unknown4 [32]; DWORD dwBasePriority;
WCHAR ImageName [16]; /* always ImageName[15] == L'\0' */ DWORD dwProcessID;
DWORD dwParentProcessID;
DWORD dwHandleCount;
DWORD dwUnknown3;
DWORD dwUnknown4;
DWORD dwVirtualBytesPeak;
DWORD dwVirtualBytes;
DWORD dwPageFaults;
DWORD dwWorkingSetPeak;
DWORD dwWorkingSet;
DWORD dwUnknown5;
DWORD dwPagedPool;
DWORD dwUnknown6;
DWORD dwNonPagedPool;
DWORD dwPageFileBytesPeak;
DWORD dwPrivateBytes;
DWORD dwPageFileBytes;
DWORD dwUnknown7 [4];
SYSTEM_THREAD_INFORMATION Threads [1];
} SYSTEM_PROCESS_INFORMATION, * PSYSTEM_PROCESS_INFORMATION; } SYSTEM_PROCESS_INFORMATION, * PSYSTEM_PROCESS_INFORMATION;
#endif #endif
typedef
struct _SYSTEM_GLOBAL_FLAGS_INFO
{
DWORD GlobalFlags;
} SYSTEM_GLOBAL_FLAGS_INFO, * PSYSTEM_GLOBAL_FLAGS_INFO;
#if 0 #if 0
#pragma pack(4) #pragma pack(4)
typedef struct _SYSTEM_DRIVER_INFO typedef struct _SYSTEM_DRIVER_INFO
@ -346,6 +384,7 @@ typedef struct _SYSTEM_DRIVER_INFO
} SYSTEM_DRIVER_INFO, * PSYSTEM_DRIVER_INFO; } SYSTEM_DRIVER_INFO, * PSYSTEM_DRIVER_INFO;
typedef struct _SYSTEM_DRIVERS_INFO typedef struct _SYSTEM_DRIVERS_INFO
{ {
DWORD DriverCount; DWORD DriverCount;
@ -397,6 +436,32 @@ typedef struct _SYSTEM_CACHE_INFORMATION
ULONG MaximumWorkingSet; ULONG MaximumWorkingSet;
ULONG Unused[4]; ULONG Unused[4];
} SYSTEM_CACHE_INFORMATION; } SYSTEM_CACHE_INFORMATION;
/* SYSTEM_POOL_ENTRY_INFO, SYSTEM_POOL_INFORMATION
* found by Klaus P. Gerlicher */
typedef
struct _SYSTEM_POOL_ENTRY_INFO
{
ULONG Tag;
ULONG NP_Allocs;
ULONG NP_Frees;
ULONG NP_Used;
ULONG P_Allocs;
ULONG P_Frees;
ULONG P_Used;
} SYSTEM_POOL_ENTRY_INFO, * PSYSTEM_POOL_ENTRY_INFO;
typedef
struct _SYSTEM_POOL_INFORMATION
{
ULONG Count;
SYSTEM_POOL_ENTRY_INFO PoolEntry [1];
} SYSTEM_POOL_INFORMATION, *PSYSTEM_POOL_INFORMATION;
#endif #endif
// file information // file information