From: Brendan Shanks bshanks@codeweavers.com
--- dlls/ntdll/unix/process.c | 19 +++++++++++++++++++ dlls/wow64/process.c | 1 + 2 files changed, 20 insertions(+)
diff --git a/dlls/ntdll/unix/process.c b/dlls/ntdll/unix/process.c index 4b9c42467e7..9f2c5ffb29c 100644 --- a/dlls/ntdll/unix/process.c +++ b/dlls/ntdll/unix/process.c @@ -1506,6 +1506,25 @@ NTSTATUS WINAPI NtQueryInformationProcess( HANDLE handle, PROCESSINFOCLASS class else ret = STATUS_INFO_LENGTH_MISMATCH; break;
+ case ProcessCycleTime: + len = sizeof(PROCESS_CYCLE_TIME_INFORMATION); + if (size == len) + { + if (!info) ret = STATUS_ACCESS_VIOLATION; + else + { + PROCESS_CYCLE_TIME_INFORMATION cycles; + + FIXME( "ProcessCycleTime (%p,%p,0x%08x,%p) stub\n", handle, info, (int)size, ret_len ); + cycles.AccumulatedCycles = 0; + cycles.CurrentCycleCount = 0; + + memcpy(info, &cycles, sizeof(PROCESS_CYCLE_TIME_INFORMATION)); + } + } + else ret = STATUS_INFO_LENGTH_MISMATCH; + break; + case ProcessWineLdtCopy: if (handle == NtCurrentProcess()) { diff --git a/dlls/wow64/process.c b/dlls/wow64/process.c index 97dbfdef761..c51da4004c1 100644 --- a/dlls/wow64/process.c +++ b/dlls/wow64/process.c @@ -774,6 +774,7 @@ NTSTATUS WINAPI wow64_NtQueryInformationProcess( UINT *args ) case ProcessDebugFlags: /* ULONG */ case ProcessExecuteFlags: /* ULONG */ case ProcessCookie: /* ULONG */ + case ProcessCycleTime: /* PROCESS_CYCLE_TIME_INFORMATION */ /* FIXME: check buffer alignment */ return NtQueryInformationProcess( handle, class, ptr, len, retlen );