Hi,
the below patch fixes the definitions of SYSTEM_BASIC_INFORMATION and
adds a definition of SYSTEM_PAGEFILE_INFORMATION and
SystemPagefileInformation. It also changes the formatting of
SYSTEM_INFORMATION_CLASS to make it a bit more readable. Tested on 32
and 64 bit.
Ok to apply?
Btw., I could provide more detailed definitions of TEB, PEB, and
types used within TEB or PEB. Is there any interest?
Thanks,
Corinna
* winternl.h (SYSTEM_BASIC_INFORMATION): Change type of address
members to match 64 bit systems.
(SYSTEM_PAGEFILE_INFORMATION): New type.
(SYSTEM_INFORMATION_CLASS): Reformat for readability. Add
SystemPagefileInformation.
Index: winternl.h
===================================================================
--- winternl.h (revision 5451)
+++ winternl.h (working copy)
@@ -688,9 +688,9 @@
ULONG LowestPhysicalPage;
ULONG HighestPhysicalPage;
ULONG AllocationGranularity;
- ULONG LowestUserAddress;
- ULONG HighestUserAddress;
- ULONG ActiveProcessors;
+ ULONG_PTR LowestUserAddress;
+ ULONG_PTR HighestUserAddress;
+ ULONG_PTR ActiveProcessors;
CCHAR NumberOfProcessors;
} SYSTEM_BASIC_INFORMATION,*PSYSTEM_BASIC_INFORMATION;
@@ -813,6 +813,14 @@
SYSTEM_HANDLE_ENTRY Handle[1];
} SYSTEM_HANDLE_INFORMATION, *PSYSTEM_HANDLE_INFORMATION;
+ typedef struct _SYSTEM_PAGEFILE_INFORMATION {
+ ULONG NextEntryOffset;
+ ULONG CurrentSize;
+ ULONG TotalUsed;
+ ULONG PeakUsed;
+ UNICODE_STRING FileName;
+ } SYSTEM_PAGEFILE_INFORMATION, *PSYSTEM_PAGEFILE_INFORMATION;
+
typedef enum _PROCESSINFOCLASS {
ProcessBasicInformation,
ProcessQuotaLimits,
@@ -891,8 +899,17 @@
typedef THREADINFOCLASS THREAD_INFORMATION_CLASS, *PTHREAD_INFORMATION_CLASS;
typedef enum _SYSTEM_INFORMATION_CLASS {
- SystemBasicInformation = 0,SystemProcessorInformation =
1,SystemPerformanceInformation = 2,SystemTimeOfDayInformation =
3,SystemProcessInformation = 5,
- SystemProcessorPerformanceInformation = 8,SystemHandleInformation =
16,SystemInterruptInformation = 23,SystemExceptionInformation =
33,SystemRegistryQuotaInformation = 37,
+ SystemBasicInformation = 0,
+ SystemProcessorInformation = 1,
+ SystemPerformanceInformation = 2,
+ SystemTimeOfDayInformation = 3,
+ SystemProcessInformation = 5,
+ SystemProcessorPerformanceInformation = 8,
+ SystemHandleInformation = 16,
+ SystemPagefileInformation = 18,
+ SystemInterruptInformation = 23,
+ SystemExceptionInformation = 33,
+ SystemRegistryQuotaInformation = 37,
SystemLookasideInformation = 45
} SYSTEM_INFORMATION_CLASS;
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_nov
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public