From b82b1306a442ec7270aa497a8b8da07d45d04dcd Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Wed, 2 Apr 2014 16:43:50 +0400 Subject: [PATCH] kernel32: Added QueryUnbiasedInterruptTime(). --- dlls/kernel32/kernel32.spec | 1 + dlls/kernel32/time.c | 11 +++++++++++ dlls/ntdll/ntdll.spec | 1 + dlls/ntdll/time.c | 9 +++++++++ include/winternl.h | 1 + 5 files changed, 23 insertions(+) diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index b24a9eea5a4..f3e5c6731bc 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -940,6 +940,7 @@ @ stub QueryOldestEventLogRecord @ stdcall QueryPerformanceCounter(ptr) @ stdcall QueryPerformanceFrequency(ptr) +@ stdcall QueryUnbiasedInterruptTime(ptr) @ stub QueryWin31IniFilesMappedToRegistry @ stdcall QueueUserAPC(ptr long long) @ stdcall QueueUserWorkItem(ptr ptr long) diff --git a/dlls/kernel32/time.c b/dlls/kernel32/time.c index 4dc5d0e277a..01d38fca740 100644 --- a/dlls/kernel32/time.c +++ b/dlls/kernel32/time.c @@ -1103,3 +1103,14 @@ DWORD WINAPI GetDynamicTimeZoneInformation(PDYNAMIC_TIME_ZONE_INFORMATION info) SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return TIME_ZONE_ID_INVALID; } + +/*********************************************************************** + * QueryUnbiasedInterruptTime (KERNEL32.@) + */ +BOOL WINAPI QueryUnbiasedInterruptTime(ULONGLONG *time) +{ + TRACE("(%p)\n", time); + if (!time) return FALSE; + RtlQueryUnbiasedInterruptTime(time); + return TRUE; +} diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 3c751eaedcc..0dd75a2e5b6 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -797,6 +797,7 @@ @ stub RtlQuerySecurityObject @ stub RtlQueryTagHeap @ stdcall RtlQueryTimeZoneInformation(ptr) +@ stdcall RtlQueryUnbiasedInterruptTime(ptr) @ stub RtlQueueApcWow64Thread @ stdcall RtlQueueWorkItem(ptr ptr long) @ stdcall -register RtlRaiseException(ptr) diff --git a/dlls/ntdll/time.c b/dlls/ntdll/time.c index c3988785120..5ec5a1cb1c8 100644 --- a/dlls/ntdll/time.c +++ b/dlls/ntdll/time.c @@ -931,3 +931,12 @@ NTSTATUS WINAPI NtSetSystemTime(const LARGE_INTEGER *NewTime, LARGE_INTEGER *Old return STATUS_NOT_IMPLEMENTED; #endif } + +/*********************************************************************** + * RtlQueryUnbiasedInterruptTime [NTDLL.@] + */ +NTSTATUS WINAPI RtlQueryUnbiasedInterruptTime(ULONGLONG *time) +{ + *time = monotonic_counter(); + return STATUS_SUCCESS; +} diff --git a/include/winternl.h b/include/winternl.h index 22ee8e88057..886c2ea793b 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -2469,6 +2469,7 @@ NTSYSAPI NTSTATUS WINAPI RtlQueryInformationActivationContext(ULONG,HANDLE,PVOI NTSYSAPI NTSTATUS WINAPI RtlQueryProcessDebugInformation(ULONG,ULONG,PDEBUG_BUFFER); NTSYSAPI NTSTATUS WINAPI RtlQueryRegistryValues(ULONG, PCWSTR, PRTL_QUERY_REGISTRY_TABLE, PVOID, PVOID); NTSYSAPI NTSTATUS WINAPI RtlQueryTimeZoneInformation(RTL_TIME_ZONE_INFORMATION*); +NTSYSAPI NTSTATUS WINAPI RtlQueryUnbiasedInterruptTime(ULONGLONG*); NTSYSAPI NTSTATUS WINAPI RtlQueueWorkItem(PRTL_WORK_ITEM_ROUTINE,PVOID,ULONG); NTSYSAPI void WINAPI RtlRaiseException(PEXCEPTION_RECORD); NTSYSAPI void WINAPI RtlRaiseStatus(NTSTATUS); -- 2.11.4.GIT