From: Piotr Caban Subject: [PATCH 1/4] msvcp140: Add __crtCreateThreadpoolTimer implementation Message-Id: Date: Fri, 10 Mar 2017 17:33:36 +0100 Signed-off-by: Piotr Caban --- 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 7270e20..863954a 100644 --- a/dlls/msvcp140/msvcp140.spec +++ b/dlls/msvcp140/msvcp140.spec @@ -3760,7 +3760,7 @@ @ cdecl __crtCreateEventExW(ptr wstr long long) MSVCP__crtCreateEventExW @ cdecl __crtCreateSemaphoreExW(ptr long long wstr long long) MSVCP__crtCreateSemaphoreExW @ stub __crtCreateSymbolicLinkW -@ stub __crtCreateThreadpoolTimer +@ cdecl __crtCreateThreadpoolTimer(ptr ptr ptr) MSVCP__crtCreateThreadpoolTimer @ stub __crtCreateThreadpoolWait @ stub __crtFlushProcessWriteBuffers @ stub __crtFreeLibraryWhenCallbackReturns diff --git a/dlls/msvcp90/misc.c b/dlls/msvcp90/misc.c index aa0a289..2536e2c 100644 --- a/dlls/msvcp90/misc.c +++ b/dlls/msvcp90/misc.c @@ -1266,6 +1266,16 @@ HANDLE CDECL MSVCP__crtCreateSemaphoreExW( return CreateSemaphoreExW(attribs, initial_count, max_count, name, flags, access); } +/********************************************************************* + * __crtCreateThreadpoolTimer (MSVCP140.@) + */ +PTP_TIMER CDECL MSVCP__crtCreateThreadpoolTimer(PTP_TIMER_CALLBACK callback, + PVOID userdata, TP_CALLBACK_ENVIRON *environment) +{ + TRACE("(%p %p %p)\n", callback, userdata, environment); + return CreateThreadpoolTimer(callback, userdata, environment); +} + /* ?_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 289f6e9..b9a778d 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -1819,6 +1819,7 @@ WINADVAPI BOOL WINAPI CreatePrivateObjectSecurityEx(PSECURITY_DESCRIPTOR WINADVAPI BOOL WINAPI CreatePrivateObjectSecurityWithMultipleInheritance(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,GUID**,ULONG,BOOL,ULONG,HANDLE,PGENERIC_MAPPING); WINBASEAPI PTP_POOL WINAPI CreateThreadpool(PVOID); WINBASEAPI PTP_CLEANUP_GROUP WINAPI CreateThreadpoolCleanupGroup(void); +WINBASEAPI PTP_TIMER WINAPI CreateThreadpoolTimer(PTP_TIMER_CALLBACK,PVOID,PTP_CALLBACK_ENVIRON); WINBASEAPI PTP_WAIT WINAPI CreateThreadpoolWait(PTP_WAIT_CALLBACK,PVOID,PTP_CALLBACK_ENVIRON); WINBASEAPI PTP_WORK WINAPI CreateThreadpoolWork(PTP_WORK_CALLBACK,PVOID,PTP_CALLBACK_ENVIRON); WINBASEAPI BOOL WINAPI CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION);