Nikolay Sivov : kernel32: Added QueryUnbiasedInterruptTime().

Alexandre Julliard julliard at winehq.org
Wed Apr 2 13:35:16 CDT 2014


Module: wine
Branch: master
Commit: b82b1306a442ec7270aa497a8b8da07d45d04dcd
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b82b1306a442ec7270aa497a8b8da07d45d04dcd

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Wed Apr  2 16:43:50 2014 +0400

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 b24a9ee..f3e5c67 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 4dc5d0e..01d38fc 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 3c751ea..0dd75a2 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 c398878..5ec5a1c 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 22ee8e8..886c2ea 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);




More information about the wine-cvs mailing list