From 480d8b82533e4b7e013e381db76139ed36870098 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Wed, 12 Feb 2020 12:05:29 +0300 Subject: [PATCH] kernel32: Add StartThreadpoolIo() stub. Signed-off-by: Nikolay Sivov Signed-off-by: Alexandre Julliard --- .../api-ms-win-core-threadpool-l1-1-0.spec | 2 +- .../api-ms-win-core-threadpool-l1-2-0.spec | 2 +- dlls/kernel32/kernel32.spec | 2 +- dlls/kernelbase/kernelbase.spec | 2 +- dlls/ntdll/threadpool.c | 8 ++++++++ include/winternl.h | 1 + 6 files changed, 13 insertions(+), 4 deletions(-) diff --git a/dlls/api-ms-win-core-threadpool-l1-1-0/api-ms-win-core-threadpool-l1-1-0.spec b/dlls/api-ms-win-core-threadpool-l1-1-0/api-ms-win-core-threadpool-l1-1-0.spec index 9cefa5aed59..a8a264182a1 100644 --- a/dlls/api-ms-win-core-threadpool-l1-1-0/api-ms-win-core-threadpool-l1-1-0.spec +++ b/dlls/api-ms-win-core-threadpool-l1-1-0/api-ms-win-core-threadpool-l1-1-0.spec @@ -32,7 +32,7 @@ @ stdcall SetThreadpoolThreadMinimum(ptr long) kernel32.SetThreadpoolThreadMinimum @ stdcall SetThreadpoolTimer(ptr ptr long long) kernel32.SetThreadpoolTimer @ stdcall SetThreadpoolWait(ptr long ptr) kernel32.SetThreadpoolWait -@ stub StartThreadpoolIo +@ stdcall StartThreadpoolIo(ptr) kernel32.StartThreadpoolIo @ stdcall SubmitThreadpoolWork(ptr) kernel32.SubmitThreadpoolWork @ stdcall TrySubmitThreadpoolCallback(ptr ptr ptr) kernel32.TrySubmitThreadpoolCallback @ stdcall UnregisterWaitEx(long long) kernel32.UnregisterWaitEx diff --git a/dlls/api-ms-win-core-threadpool-l1-2-0/api-ms-win-core-threadpool-l1-2-0.spec b/dlls/api-ms-win-core-threadpool-l1-2-0/api-ms-win-core-threadpool-l1-2-0.spec index 9510c5bcf23..fc373c3c893 100644 --- a/dlls/api-ms-win-core-threadpool-l1-2-0/api-ms-win-core-threadpool-l1-2-0.spec +++ b/dlls/api-ms-win-core-threadpool-l1-2-0/api-ms-win-core-threadpool-l1-2-0.spec @@ -28,7 +28,7 @@ @ stub SetThreadpoolTimerEx @ stdcall SetThreadpoolWait(ptr long ptr) kernel32.SetThreadpoolWait @ stub SetThreadpoolWaitEx -@ stub StartThreadpoolIo +@ stdcall StartThreadpoolIo(ptr) kernel32.StartThreadpoolIo @ stdcall SubmitThreadpoolWork(ptr) kernel32.SubmitThreadpoolWork @ stdcall TrySubmitThreadpoolCallback(ptr ptr ptr) kernel32.TrySubmitThreadpoolCallback @ stub WaitForThreadpoolIoCallbacks diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index d138df9fc19..b7c148395b0 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -1490,7 +1490,7 @@ @ stdcall -import SleepEx(long long) # @ stub SortCloseHandle # @ stub SortGetHandle -# @ stub StartThreadpoolIo +@ stdcall StartThreadpoolIo(ptr) ntdll.TpStartAsyncIoOperation @ stdcall SubmitThreadpoolWork(ptr) ntdll.TpPostWork @ stdcall -import SuspendThread(long) @ stdcall -import SwitchToFiber(ptr) diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec index d9f50e87892..7f928e3085a 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -1515,7 +1515,7 @@ @ stdcall SleepConditionVariableSRW(ptr ptr long long) @ stdcall SleepEx(long long) @ stub SpecialMBToWC -@ stub StartThreadpoolIo +@ stdcall StartThreadpoolIo(ptr) ntdll.TpStartAsyncIoOperation # @ stub StmAlignSize # @ stub StmAllocateFlat # @ stub StmCoalesceChunks diff --git a/dlls/ntdll/threadpool.c b/dlls/ntdll/threadpool.c index b7a096f981b..4b4bdf2cd74 100644 --- a/dlls/ntdll/threadpool.c +++ b/dlls/ntdll/threadpool.c @@ -3031,3 +3031,11 @@ NTSTATUS WINAPI TpQueryPoolStackInformation( TP_POOL *pool, TP_POOL_STACK_INFORM return STATUS_SUCCESS; } + +/*********************************************************************** + * TpStartAsyncIoOperation (NTDLL.@) + */ +void WINAPI TpStartAsyncIoOperation( TP_IO *io ) +{ + FIXME( "%p\n", io ); +} diff --git a/include/winternl.h b/include/winternl.h index 5298eaa0f7d..940337153d0 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -3028,6 +3028,7 @@ NTSYSAPI void WINAPI TpReleasePool(TP_POOL *); NTSYSAPI void WINAPI TpReleaseTimer(TP_TIMER *); NTSYSAPI void WINAPI TpReleaseWait(TP_WAIT *); NTSYSAPI void WINAPI TpReleaseWork(TP_WORK *); +NTSYSAPI void WINAPI TpStartAsyncIoOperation(TP_IO *); NTSYSAPI void WINAPI TpSetPoolMaxThreads(TP_POOL *,DWORD); NTSYSAPI BOOL WINAPI TpSetPoolMinThreads(TP_POOL *,DWORD); NTSYSAPI NTSTATUS WINAPI TpSetPoolStackInformation(TP_POOL *, TP_POOL_STACK_INFORMATION *stack_info);