Hi, I'm busy fixing up NtQuerySystemInformation as this is needed for my 'Get Processor Explorer running' project.
I've found that (at least) 2 structs are wrongly sized: /* System Information Class 0x03 */ typedef struct _SYSTEM_TIMEOFDAY_INFORMATION { #ifdef __WINESRC__ LARGE_INTEGER liKeBootTime; LARGE_INTEGER liKeSystemTime; LARGE_INTEGER liExpTimeZoneBias; ULONG uCurrentTimeZoneId; DWORD dwReserved; #else BYTE Reserved1[48]; #endif } SYSTEM_TIMEOFDAY_INFORMATION, *PSYSTEM_TIMEOFDAY_INFORMATION; /* was SYSTEM_TIME_INFORMATION */ In the __WINESRC__ case it's 32 bytes and 48 otherwise. The same is true for the _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION struct, where in the __WINESRC__ case it's 48 bytes and 44 bytes otherwise. So my questions are: 1. Is there a reason for this, or is it a bug. 2. Why do we have separate structs for the WINE and the NOT-WINE case. Is this because most of it is undocumented? Cheers, Paul Vriens.