Change SYSTEM_PROCESS_INFORMATION to reflect W2K/WinXP/W2K3 structure.

oldstable
Paul Vriens 2005-06-03 11:24:43 +00:00 committed by Alexandre Julliard
parent ee72fb2817
commit eb6559f910
2 changed files with 29 additions and 41 deletions

View File

@ -696,28 +696,24 @@ NTSTATUS WINAPI NtQuerySystemInformation(
wlen = wine_server_reply_size(reply) + sizeof(WCHAR);
if (Length >= len + sizeof(*spi))
{
/* ftCreationTime, ftUserTime, ftCreateTime;
* vmCounters, ioCounters
*/
memset(spi, 0, sizeof(*spi));
spi->dwOffset = sizeof(*spi);
spi->dwThreadCount = reply->threads;
memset(&spi->ftCreationTime, 0, sizeof(spi->ftCreationTime));
/* spi->pszProcessName will be set later on */
spi->dwBasePriority = reply->priority;
spi->dwProcessID = (DWORD)reply->pid;
spi->dwParentProcessID = (DWORD)reply->ppid;
spi->dwHandleCount = reply->handles;
spi->dwVirtualBytesPeak = 0; /* FIXME */
spi->dwVirtualBytes = 0; /* FIXME */
spi->dwPageFaults = 0; /* FIXME */
spi->dwWorkingSetPeak = 0; /* FIXME */
spi->dwWorkingSet = 0; /* FIXME */
spi->dwUnknown5 = 0; /* FIXME */
spi->dwPagedPool = 0; /* FIXME */
spi->dwUnknown6 = 0; /* FIXME */
spi->dwNonPagedPool = 0; /* FIXME */
spi->dwPageFileBytesPeak = 0; /* FIXME */
spi->dwPrivateBytes = 0; /* FIXME */
spi->dwPageFileBytes = 0; /* FIXME */
/* spi->ti will be set later on */
len += sizeof(*spi) - sizeof(spi->ti);
}
else ret = STATUS_INFO_LENGTH_MISMATCH;

View File

@ -1059,13 +1059,30 @@ typedef struct _SYSTEM_KERNEL_DEBUGGER_INFORMATION {
} SYSTEM_KERNEL_DEBUGGER_INFORMATION, *PSYSTEM_KERNEL_DEBUGGER_INFORMATION;
/* System Information Class 0x05 */
typedef struct _VM_COUNTERS_ {
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;
} VM_COUNTERS, *PVM_COUNTERS;
typedef struct _SYSTEM_PROCESS_INFORMATION {
#ifdef __WINESRC__
DWORD dwOffset;
DWORD dwThreadCount;
DWORD dwUnknown1[6];
FILETIME ftCreationTime;
DWORD dwUnknown2[5];
FILETIME ftUserTime;
FILETIME ftKernelTime;
DWORD dwUnknown2;
WCHAR *pszProcessName;
DWORD dwBasePriority;
DWORD dwProcessID;
@ -1073,19 +1090,8 @@ typedef struct _SYSTEM_PROCESS_INFORMATION {
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];
VM_COUNTERS vmCounters;
IO_COUNTERS ioCounters;
SYSTEM_THREAD_INFORMATION ti[1];
#else
ULONG NextEntryOffset;
@ -1130,20 +1136,6 @@ typedef struct _WINSTATIONINFORMATIONW {
BYTE Reserved3[1140];
} WINSTATIONINFORMATIONW, *PWINSTATIONINFORMATIONW;
typedef struct _VM_COUNTERS_ {
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;
} VM_COUNTERS, *PVM_COUNTERS;
typedef BOOLEAN (WINAPI * PWINSTATIONQUERYINFORMATIONW)(HANDLE,ULONG,WINSTATIONINFOCLASS,PVOID,ULONG,PULONG);
typedef struct _LDR_RESOURCE_INFO