From 941ce07a4c2586f8359131489fdd35788478cd4a Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Fri, 10 Mar 2017 17:33:42 +0100 Subject: [PATCH] msvcp140: Add __crtSetThreadpoolTimer implementation. Signed-off-by: Piotr Caban Signed-off-by: Alexandre Julliard --- dlls/msvcp140/msvcp140.spec | 2 +- dlls/msvcp90/misc.c | 10 ++++++++++ include/winbase.h | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/dlls/msvcp140/msvcp140.spec b/dlls/msvcp140/msvcp140.spec index 863954a5b60..da09926016a 100644 --- a/dlls/msvcp140/msvcp140.spec +++ b/dlls/msvcp140/msvcp140.spec @@ -3776,7 +3776,7 @@ @ stub __crtLCMapStringEx @ cdecl __crtLCMapStringW(long long wstr long ptr long long long) msvcrt.__crtLCMapStringW @ stub __crtSetFileInformationByHandle -@ stub __crtSetThreadpoolTimer +@ cdecl __crtSetThreadpoolTimer(ptr ptr long long) MSVCP__crtSetThreadpoolTimer @ stub __crtSetThreadpoolWait @ stub __crtWaitForThreadpoolTimerCallbacks @ stub __set_stl_sync_api_mode diff --git a/dlls/msvcp90/misc.c b/dlls/msvcp90/misc.c index 2536e2cc57c..c2b061a76d1 100644 --- a/dlls/msvcp90/misc.c +++ b/dlls/msvcp90/misc.c @@ -1276,6 +1276,16 @@ PTP_TIMER CDECL MSVCP__crtCreateThreadpoolTimer(PTP_TIMER_CALLBACK callback, return CreateThreadpoolTimer(callback, userdata, environment); } +/********************************************************************* + * __crtSetThreadpoolTimer (MSVCP140.@) + */ +VOID CDECL MSVCP__crtSetThreadpoolTimer(TP_TIMER *timer, + FILETIME *due_time, DWORD period, DWORD window_length) +{ + TRACE("(%p %p 0x%08x 0x%08x)\n", timer, due_time, period, window_length); + return SetThreadpoolTimer(timer, due_time, period, window_length); +} + /* ?_Execute_once@std@@YAHAAUonce_flag@1@P6GHPAX1PAPAX@Z1@Z */ /* ?_Execute_once@std@@YAHAEAUonce_flag@1@P6AHPEAX1PEAPEAX@Z1@Z */ BOOL __cdecl _Execute_once(INIT_ONCE *flag, PINIT_ONCE_FN func, void *param) diff --git a/include/winbase.h b/include/winbase.h index b9a778d4149..2345443b659 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -2560,6 +2560,7 @@ WINBASEAPI DWORD WINAPI SetThreadIdealProcessor(HANDLE,DWORD); WINBASEAPI BOOL WINAPI SetThreadPriority(HANDLE,INT); WINBASEAPI BOOL WINAPI SetThreadPriorityBoost(HANDLE,BOOL); WINADVAPI BOOL WINAPI SetThreadToken(PHANDLE,HANDLE); +WINBASEAPI VOID WINAPI SetThreadpoolTimer(PTP_TIMER,FILETIME*,DWORD,DWORD); WINBASEAPI VOID WINAPI SetThreadpoolWait(PTP_WAIT,HANDLE,FILETIME *); WINBASEAPI HANDLE WINAPI SetTimerQueueTimer(HANDLE,WAITORTIMERCALLBACK,PVOID,DWORD,DWORD,BOOL); WINBASEAPI BOOL WINAPI SetTimeZoneInformation(const TIME_ZONE_INFORMATION *);