CVS: winex/include ntddk.h, 1.5, 1.6 winnt.h, 1.37, 1.38 winternl.h, 1.11, 1.12
[email protected] 12 Sep 2007 12:38:05 -0000
| Newsgroups | gmane.comp.emulators.winex.cvs |
|---|---|
| Message-ID | <[email protected]> |
Subject: winex/include ntddk.h,1.5,1.6 winnt.h,1.37,1.38 winternl.h,1.11,1.12Update of /var/lib/cvsd/cvsroot/winex/include
In directory agravaine:/tmp/cvs-serv12586/include
Modified Files:
ntddk.h winnt.h winternl.h
Log Message:
- updated the internal representation (in 'ntddk.h' and 'winternl.h') of the SYSTEM_PROCESS_INFORMATION struct to match what is expected by the native PSDK. This included adding the IO_COUNTERS struct to winnt.h as well.
- added a case for SystemProcessInformation in NtQuerySystemInformation()
Index: ntddk.h
===================================================================
RCS file: /var/lib/cvsd/cvsroot/winex/include/ntddk.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- ntddk.h 25 Sep 2004 07:15:12 -0000 1.5
+++ ntddk.h 12 Sep 2007 12:38:02 -0000 1.6
@@ -655,32 +655,22 @@
typedef struct {
/* System Information Class 0x05 */
- DWORD dwOffset;
- DWORD dwThreadCount;
- DWORD dwUnknown1[6];
- FILETIME ftCreationTime;
- DWORD dwUnknown2[5];
- WCHAR* pszProcessName;
- DWORD dwBasePriority;
- 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];
- THREADINFO ti[0];
+ DWORD dwOffset;
+ DWORD dwThreadCount;
+ DWORD dwUnknown1[6];
+ FILETIME ftCreationTime;
+ FILETIME ftUserTime;
+ FILETIME ftKernelTime;
+ UNICODE_STRING ProcessName;
+ DWORD dwBasePriority;
+ DWORD dwProcessID;
+ DWORD dwParentProcessID;
+ DWORD dwHandleCount;
+ DWORD dwUnknown3;
+ DWORD dwUnknown4;
+ VM_COUNTERS vmCounters;
+ IO_COUNTERS ioCounters;
+ SYSTEM_THREAD_INFORMATION ti[1];
} SYSTEM_PROCESS_INFORMATION;
typedef struct {
Index: winnt.h
===================================================================
RCS file: /var/lib/cvsd/cvsroot/winex/include/winnt.h,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- winnt.h 31 Jul 2007 19:46:38 -0000 1.37
+++ winnt.h 12 Sep 2007 12:38:03 -0000 1.38
@@ -4381,4 +4381,16 @@
WORD WINAPI RtlQueryDepthSList( PSLIST_HEADER ListHead );
+
+typedef struct _IO_COUNTERS {
+ ULONGLONG ReadOperationCount;
+ ULONGLONG WriteOperationCount;
+ ULONGLONG OtherOperationCount;
+ ULONGLONG ReadTransferCount;
+ ULONGLONG WriteTransferCount;
+ ULONGLONG OtherTransferCount;
+} IO_COUNTERS;
+typedef IO_COUNTERS *PIO_COUNTERS;
+
+
#endif /* __WINE_WINNT_H */
Index: winternl.h
===================================================================
RCS file: /var/lib/cvsd/cvsroot/winex/include/winternl.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- winternl.h 12 Sep 2007 12:31:05 -0000 1.11
+++ winternl.h 12 Sep 2007 12:38:03 -0000 1.12
@@ -376,6 +376,24 @@
* Types and data structures
*/
+/* This is used by NtQuerySystemInformation */
+typedef struct _SYSTEM_THREAD_INFORMATION{
+ FILETIME ftKernelTime;
+ FILETIME ftUserTime;
+ FILETIME ftCreateTime;
+ DWORD dwTickCount;
+ DWORD dwStartAddress;
+ DWORD dwOwningPID;
+ DWORD dwThreadID;
+ DWORD dwCurrentPriority;
+ DWORD dwBasePriority;
+ DWORD dwContextSwitches;
+ DWORD dwThreadState;
+ DWORD dwWaitReason;
+ DWORD dwUnknown;
+} SYSTEM_THREAD_INFORMATION, *PSYSTEM_THREAD_INFORMATION;
+
+
typedef struct _VPB* PVPB;
#define DEVICE_TYPE DWORD
typedef PVOID PDRIVER_CONTROL; /* XXX some function pointer */
@@ -828,6 +846,20 @@
#endif
} SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION, *PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION;
+typedef struct _VM_COUNTERS_ {
+ ULONG PeakVirtualSize;
+ ULONG VirtualSize;
+ ULONG PageFaultCount;
+ ULONG PeakWorkingSetSize;
+ ULONG WorkingSetSize;
+ ULONG QuotaPeakPagedPoolUsage;
+ ULONG QuotaPagedPoolUsage;
+ ULONG QuotaPeakNonPagedPoolUsage;
+ ULONG QuotaNonPagedPoolUsage;
+ ULONG PagefileUsage;
+ ULONG PeakPagefileUsage;
+} VM_COUNTERS, *PVM_COUNTERS;
+
/* System Information Class 0x05 */
typedef struct _SYSTEM_PROCESS_INFORMATION {
#ifdef __WINE__
@@ -835,28 +867,18 @@
DWORD dwThreadCount;
DWORD dwUnknown1[6];
FILETIME ftCreationTime;
- DWORD dwUnknown2[5];
- WCHAR *pszProcessName;
+ FILETIME ftUserTime;
+ FILETIME ftKernelTime;
+ UNICODE_STRING ProcessName;
DWORD dwBasePriority;
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];
- THREADINFO ti[1];
+ VM_COUNTERS vmCounters;
+ IO_COUNTERS ioCounters;
+ SYSTEM_THREAD_INFORMATION ti[1];
#else
ULONG NextEntryOffset;
BYTE Reserved1[52];
@@ -913,19 +935,6 @@
BYTE Reserved3[1140];
} WINSTATIONINFORMATIONW, *PWINSTATIONINFORMATIONW;
-typedef struct _VM_COUNTERS_ {
- ULONG PeakVirtualSize;
- ULONG VirtualSize;
- ULONG PageFaultCount;
- ULONG PeakWorkingSetSize;
- ULONG WorkingSetSize;
- ULONG QuotaPeakPagedPoolUsage;
- ULONG QuotaPagedPoolUsage;
- ULONG QuotaPeakNonPagedPoolUsage;
- ULONG QuotaNonPagedPoolUsage;
- ULONG PagefileUsage;
- ULONG PeakPagefileUsage;
-} VM_COUNTERS, *PVM_COUNTERS;
typedef BOOLEAN (WINAPI * PWINSTATIONQUERYINFORMATIONW)(HANDLE,ULONG,WINSTATIONINFOCLASS,PVOID,ULONG,PULONG);