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

Reply via email to