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);