kernel32: Forward threadpool wait functions to ntdll.
This commit is contained in:
parent
0021569778
commit
6c586d5db8
|
@ -233,7 +233,7 @@
|
||||||
@ stdcall CloseThreadpoolCleanupGroupMembers(ptr long ptr) ntdll.TpReleaseCleanupGroupMembers
|
@ stdcall CloseThreadpoolCleanupGroupMembers(ptr long ptr) ntdll.TpReleaseCleanupGroupMembers
|
||||||
# @ stub CloseThreadpoolIo
|
# @ stub CloseThreadpoolIo
|
||||||
@ stdcall CloseThreadpoolTimer(ptr) ntdll.TpReleaseTimer
|
@ stdcall CloseThreadpoolTimer(ptr) ntdll.TpReleaseTimer
|
||||||
# @ stub CloseThreadpoolWait
|
@ stdcall CloseThreadpoolWait(ptr) ntdll.TpReleaseWait
|
||||||
@ stdcall CloseThreadpoolWork(ptr) ntdll.TpReleaseWork
|
@ stdcall CloseThreadpoolWork(ptr) ntdll.TpReleaseWork
|
||||||
@ stdcall CmdBatNotification(long)
|
@ stdcall CmdBatNotification(long)
|
||||||
@ stdcall CommConfigDialogA(str long ptr)
|
@ stdcall CommConfigDialogA(str long ptr)
|
||||||
|
@ -335,7 +335,7 @@
|
||||||
@ stdcall CreateThreadpoolCleanupGroup()
|
@ stdcall CreateThreadpoolCleanupGroup()
|
||||||
# @ stub CreateThreadpoolIo
|
# @ stub CreateThreadpoolIo
|
||||||
@ stdcall CreateThreadpoolTimer(ptr ptr ptr)
|
@ stdcall CreateThreadpoolTimer(ptr ptr ptr)
|
||||||
# @ stub CreateThreadpoolWait
|
@ stdcall CreateThreadpoolWait(ptr ptr ptr)
|
||||||
@ stdcall CreateThreadpoolWork(ptr ptr ptr)
|
@ stdcall CreateThreadpoolWork(ptr ptr ptr)
|
||||||
@ stdcall CreateTimerQueue ()
|
@ stdcall CreateTimerQueue ()
|
||||||
@ stdcall CreateTimerQueueTimer(ptr long ptr ptr long long long)
|
@ stdcall CreateTimerQueueTimer(ptr long ptr ptr long long long)
|
||||||
|
@ -1457,7 +1457,7 @@
|
||||||
@ stdcall SetThreadpoolThreadMaximum(ptr long) ntdll.TpSetPoolMaxThreads
|
@ stdcall SetThreadpoolThreadMaximum(ptr long) ntdll.TpSetPoolMaxThreads
|
||||||
@ stdcall SetThreadpoolThreadMinimum(ptr long) ntdll.TpSetPoolMinThreads
|
@ stdcall SetThreadpoolThreadMinimum(ptr long) ntdll.TpSetPoolMinThreads
|
||||||
@ stdcall SetThreadpoolTimer(ptr ptr long long)
|
@ stdcall SetThreadpoolTimer(ptr ptr long long)
|
||||||
# @ stub SetThreadpoolWait
|
@ stdcall SetThreadpoolWait(ptr long ptr)
|
||||||
@ stdcall SetTimeZoneInformation(ptr)
|
@ stdcall SetTimeZoneInformation(ptr)
|
||||||
@ stub SetTimerQueueTimer
|
@ stub SetTimerQueueTimer
|
||||||
# @ stub -arch=x86_64 SetUmsThreadInformation
|
# @ stub -arch=x86_64 SetUmsThreadInformation
|
||||||
|
@ -1572,7 +1572,7 @@
|
||||||
@ stdcall WaitForSingleObjectEx(long long long)
|
@ stdcall WaitForSingleObjectEx(long long long)
|
||||||
# @ stub WaitForThreadpoolIoCallbacks
|
# @ stub WaitForThreadpoolIoCallbacks
|
||||||
@ stdcall WaitForThreadpoolTimerCallbacks(ptr long) ntdll.TpWaitForTimer
|
@ stdcall WaitForThreadpoolTimerCallbacks(ptr long) ntdll.TpWaitForTimer
|
||||||
# @ stub WaitForThreadpoolWaitCallbacks
|
@ stdcall WaitForThreadpoolWaitCallbacks(ptr long) ntdll.TpWaitForWait
|
||||||
@ stdcall WaitForThreadpoolWorkCallbacks(ptr long) ntdll.TpWaitForWork
|
@ stdcall WaitForThreadpoolWorkCallbacks(ptr long) ntdll.TpWaitForWork
|
||||||
@ stdcall WaitNamedPipeA (str long)
|
@ stdcall WaitNamedPipeA (str long)
|
||||||
@ stdcall WaitNamedPipeW (wstr long)
|
@ stdcall WaitNamedPipeW (wstr long)
|
||||||
|
|
|
@ -941,6 +941,27 @@ PTP_TIMER WINAPI CreateThreadpoolTimer( PTP_TIMER_CALLBACK callback, PVOID userd
|
||||||
return timer;
|
return timer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CreateThreadpoolWait (KERNEL32.@)
|
||||||
|
*/
|
||||||
|
PTP_WAIT WINAPI CreateThreadpoolWait( PTP_WAIT_CALLBACK callback, PVOID userdata,
|
||||||
|
TP_CALLBACK_ENVIRON *environment )
|
||||||
|
{
|
||||||
|
TP_WAIT *wait;
|
||||||
|
NTSTATUS status;
|
||||||
|
|
||||||
|
TRACE( "%p, %p, %p\n", callback, userdata, environment );
|
||||||
|
|
||||||
|
status = TpAllocWait( &wait, callback, userdata, environment );
|
||||||
|
if (status)
|
||||||
|
{
|
||||||
|
SetLastError( RtlNtStatusToDosError(status) );
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return wait;
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CreateThreadpoolWork (KERNEL32.@)
|
* CreateThreadpoolWork (KERNEL32.@)
|
||||||
*/
|
*/
|
||||||
|
@ -981,6 +1002,28 @@ VOID WINAPI SetThreadpoolTimer( TP_TIMER *timer, FILETIME *due_time,
|
||||||
TpSetTimer( timer, due_time ? &timeout : NULL, period, window_length );
|
TpSetTimer( timer, due_time ? &timeout : NULL, period, window_length );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* SetThreadpoolWait (KERNEL32.@)
|
||||||
|
*/
|
||||||
|
VOID WINAPI SetThreadpoolWait( TP_WAIT *wait, HANDLE handle, FILETIME *due_time )
|
||||||
|
{
|
||||||
|
LARGE_INTEGER timeout;
|
||||||
|
|
||||||
|
TRACE( "%p, %p, %p\n", wait, handle, due_time );
|
||||||
|
|
||||||
|
if (!handle)
|
||||||
|
{
|
||||||
|
due_time = NULL;
|
||||||
|
}
|
||||||
|
else if (due_time)
|
||||||
|
{
|
||||||
|
timeout.u.LowPart = due_time->dwLowDateTime;
|
||||||
|
timeout.u.HighPart = due_time->dwHighDateTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
TpSetWait( wait, handle, due_time ? &timeout : NULL );
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* TrySubmitThreadpoolCallback (KERNEL32.@)
|
* TrySubmitThreadpoolCallback (KERNEL32.@)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2621,6 +2621,7 @@ NTSYSAPI NTSTATUS WINAPI RtlLargeIntegerToChar(const ULONGLONG *,ULONG,ULONG,PC
|
||||||
NTSYSAPI NTSTATUS WINAPI TpAllocCleanupGroup(TP_CLEANUP_GROUP **);
|
NTSYSAPI NTSTATUS WINAPI TpAllocCleanupGroup(TP_CLEANUP_GROUP **);
|
||||||
NTSYSAPI NTSTATUS WINAPI TpAllocPool(TP_POOL **,PVOID);
|
NTSYSAPI NTSTATUS WINAPI TpAllocPool(TP_POOL **,PVOID);
|
||||||
NTSYSAPI NTSTATUS WINAPI TpAllocTimer(TP_TIMER **,PTP_TIMER_CALLBACK,PVOID,TP_CALLBACK_ENVIRON *);
|
NTSYSAPI NTSTATUS WINAPI TpAllocTimer(TP_TIMER **,PTP_TIMER_CALLBACK,PVOID,TP_CALLBACK_ENVIRON *);
|
||||||
|
NTSYSAPI NTSTATUS WINAPI TpAllocWait(TP_WAIT **,PTP_WAIT_CALLBACK,PVOID,TP_CALLBACK_ENVIRON *);
|
||||||
NTSYSAPI NTSTATUS WINAPI TpAllocWork(TP_WORK **,PTP_WORK_CALLBACK,PVOID,TP_CALLBACK_ENVIRON *);
|
NTSYSAPI NTSTATUS WINAPI TpAllocWork(TP_WORK **,PTP_WORK_CALLBACK,PVOID,TP_CALLBACK_ENVIRON *);
|
||||||
NTSYSAPI void WINAPI TpCallbackLeaveCriticalSectionOnCompletion(TP_CALLBACK_INSTANCE *,RTL_CRITICAL_SECTION *);
|
NTSYSAPI void WINAPI TpCallbackLeaveCriticalSectionOnCompletion(TP_CALLBACK_INSTANCE *,RTL_CRITICAL_SECTION *);
|
||||||
NTSYSAPI NTSTATUS WINAPI TpCallbackMayRunLong(TP_CALLBACK_INSTANCE *);
|
NTSYSAPI NTSTATUS WINAPI TpCallbackMayRunLong(TP_CALLBACK_INSTANCE *);
|
||||||
|
@ -2635,12 +2636,15 @@ NTSYSAPI void WINAPI TpReleaseCleanupGroup(TP_CLEANUP_GROUP *);
|
||||||
NTSYSAPI void WINAPI TpReleaseCleanupGroupMembers(TP_CLEANUP_GROUP *,BOOL,PVOID);
|
NTSYSAPI void WINAPI TpReleaseCleanupGroupMembers(TP_CLEANUP_GROUP *,BOOL,PVOID);
|
||||||
NTSYSAPI void WINAPI TpReleasePool(TP_POOL *);
|
NTSYSAPI void WINAPI TpReleasePool(TP_POOL *);
|
||||||
NTSYSAPI void WINAPI TpReleaseTimer(TP_TIMER *);
|
NTSYSAPI void WINAPI TpReleaseTimer(TP_TIMER *);
|
||||||
|
NTSYSAPI void WINAPI TpReleaseWait(TP_WAIT *);
|
||||||
NTSYSAPI void WINAPI TpReleaseWork(TP_WORK *);
|
NTSYSAPI void WINAPI TpReleaseWork(TP_WORK *);
|
||||||
NTSYSAPI void WINAPI TpSetPoolMaxThreads(TP_POOL *,DWORD);
|
NTSYSAPI void WINAPI TpSetPoolMaxThreads(TP_POOL *,DWORD);
|
||||||
NTSYSAPI BOOL WINAPI TpSetPoolMinThreads(TP_POOL *,DWORD);
|
NTSYSAPI BOOL WINAPI TpSetPoolMinThreads(TP_POOL *,DWORD);
|
||||||
NTSYSAPI void WINAPI TpSetTimer(TP_TIMER *, LARGE_INTEGER *,LONG,LONG);
|
NTSYSAPI void WINAPI TpSetTimer(TP_TIMER *, LARGE_INTEGER *,LONG,LONG);
|
||||||
|
NTSYSAPI void WINAPI TpSetWait(TP_WAIT *,HANDLE,LARGE_INTEGER *);
|
||||||
NTSYSAPI NTSTATUS WINAPI TpSimpleTryPost(PTP_SIMPLE_CALLBACK,PVOID,TP_CALLBACK_ENVIRON *);
|
NTSYSAPI NTSTATUS WINAPI TpSimpleTryPost(PTP_SIMPLE_CALLBACK,PVOID,TP_CALLBACK_ENVIRON *);
|
||||||
NTSYSAPI void WINAPI TpWaitForTimer(TP_TIMER *,BOOL);
|
NTSYSAPI void WINAPI TpWaitForTimer(TP_TIMER *,BOOL);
|
||||||
|
NTSYSAPI void WINAPI TpWaitForWait(TP_WAIT *,BOOL);
|
||||||
NTSYSAPI void WINAPI TpWaitForWork(TP_WORK *,BOOL);
|
NTSYSAPI void WINAPI TpWaitForWork(TP_WORK *,BOOL);
|
||||||
|
|
||||||
/* Wine internal functions */
|
/* Wine internal functions */
|
||||||
|
|
Loading…
Reference in New Issue