kernel32: Forward threadpool timer functions to ntdll.
This commit is contained in:
parent
1165cc0953
commit
4b0ecd3e22
|
@ -232,7 +232,7 @@
|
|||
@ stdcall CloseThreadpoolCleanupGroup(ptr) ntdll.TpReleaseCleanupGroup
|
||||
@ stdcall CloseThreadpoolCleanupGroupMembers(ptr long ptr) ntdll.TpReleaseCleanupGroupMembers
|
||||
# @ stub CloseThreadpoolIo
|
||||
# @ stub CloseThreadpoolTimer
|
||||
@ stdcall CloseThreadpoolTimer(ptr) ntdll.TpReleaseTimer
|
||||
# @ stub CloseThreadpoolWait
|
||||
@ stdcall CloseThreadpoolWork(ptr) ntdll.TpReleaseWork
|
||||
@ stdcall CmdBatNotification(long)
|
||||
|
@ -334,7 +334,7 @@
|
|||
# @ stub CreateThreadpool
|
||||
@ stdcall CreateThreadpoolCleanupGroup()
|
||||
# @ stub CreateThreadpoolIo
|
||||
# @ stub CreateThreadpoolTimer
|
||||
@ stdcall CreateThreadpoolTimer(ptr ptr ptr)
|
||||
# @ stub CreateThreadpoolWait
|
||||
@ stdcall CreateThreadpoolWork(ptr ptr ptr)
|
||||
@ stdcall CreateTimerQueue ()
|
||||
|
@ -981,7 +981,7 @@
|
|||
@ stub -i386 IsSLCallback
|
||||
@ stdcall IsSystemResumeAutomatic()
|
||||
@ stdcall IsThreadAFiber()
|
||||
# @ stub IsThreadpoolTimerSet
|
||||
@ stdcall IsThreadpoolTimerSet(ptr) ntdll.TpIsTimerSet
|
||||
# @ stub IsTimeZoneRedirectionEnabled
|
||||
# @ stub IsValidCalDateTime
|
||||
@ stdcall IsValidCodePage(long)
|
||||
|
@ -1456,7 +1456,7 @@
|
|||
# @ stub SetThreadpoolStackInformation
|
||||
# @ stub SetThreadpoolThreadMaximum
|
||||
# @ stub SetThreadpoolThreadMinimum
|
||||
# @ stub SetThreadpoolTimer
|
||||
@ stdcall SetThreadpoolTimer(ptr ptr long long)
|
||||
# @ stub SetThreadpoolWait
|
||||
@ stdcall SetTimeZoneInformation(ptr)
|
||||
@ stub SetTimerQueueTimer
|
||||
|
@ -1571,7 +1571,7 @@
|
|||
@ stdcall WaitForSingleObject(long long)
|
||||
@ stdcall WaitForSingleObjectEx(long long long)
|
||||
# @ stub WaitForThreadpoolIoCallbacks
|
||||
# @ stub WaitForThreadpoolTimerCallbacks
|
||||
@ stdcall WaitForThreadpoolTimerCallbacks(ptr long) ntdll.TpWaitForTimer
|
||||
# @ stub WaitForThreadpoolWaitCallbacks
|
||||
@ stdcall WaitForThreadpoolWorkCallbacks(ptr long) ntdll.TpWaitForWork
|
||||
@ stdcall WaitNamedPipeA (str long)
|
||||
|
|
|
@ -881,6 +881,27 @@ PTP_CLEANUP_GROUP WINAPI CreateThreadpoolCleanupGroup( void )
|
|||
return group;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* CreateThreadpoolTimer (KERNEL32.@)
|
||||
*/
|
||||
PTP_TIMER WINAPI CreateThreadpoolTimer( PTP_TIMER_CALLBACK callback, PVOID userdata,
|
||||
TP_CALLBACK_ENVIRON *environment )
|
||||
{
|
||||
TP_TIMER *timer;
|
||||
NTSTATUS status;
|
||||
|
||||
TRACE( "%p, %p, %p\n", callback, userdata, environment );
|
||||
|
||||
status = TpAllocTimer( &timer, callback, userdata, environment );
|
||||
if (status)
|
||||
{
|
||||
SetLastError( RtlNtStatusToDosError(status) );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return timer;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* CreateThreadpoolWork (KERNEL32.@)
|
||||
*/
|
||||
|
@ -901,3 +922,22 @@ PTP_WORK WINAPI CreateThreadpoolWork( PTP_WORK_CALLBACK callback, PVOID userdata
|
|||
|
||||
return work;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* SetThreadpoolTimer (KERNEL32.@)
|
||||
*/
|
||||
VOID WINAPI SetThreadpoolTimer( TP_TIMER *timer, FILETIME *due_time,
|
||||
DWORD period, DWORD window_length )
|
||||
{
|
||||
LARGE_INTEGER timeout;
|
||||
|
||||
TRACE( "%p, %p, %u, %u\n", timer, due_time, period, window_length );
|
||||
|
||||
if (due_time)
|
||||
{
|
||||
timeout.u.LowPart = due_time->dwLowDateTime;
|
||||
timeout.u.HighPart = due_time->dwHighDateTime;
|
||||
}
|
||||
|
||||
TpSetTimer( timer, due_time ? &timeout : NULL, period, window_length );
|
||||
}
|
||||
|
|
|
@ -2619,11 +2619,16 @@ NTSYSAPI NTSTATUS WINAPI RtlLargeIntegerToChar(const ULONGLONG *,ULONG,ULONG,PC
|
|||
/* Threadpool functions */
|
||||
|
||||
NTSYSAPI NTSTATUS WINAPI TpAllocCleanupGroup(TP_CLEANUP_GROUP **);
|
||||
NTSYSAPI NTSTATUS WINAPI TpAllocTimer(TP_TIMER **,PTP_TIMER_CALLBACK,PVOID,TP_CALLBACK_ENVIRON *);
|
||||
NTSYSAPI NTSTATUS WINAPI TpAllocWork(TP_WORK **,PTP_WORK_CALLBACK,PVOID,TP_CALLBACK_ENVIRON *);
|
||||
NTSYSAPI BOOL WINAPI TpIsTimerSet(TP_TIMER *);
|
||||
NTSYSAPI void WINAPI TpPostWork(TP_WORK *);
|
||||
NTSYSAPI void WINAPI TpReleaseCleanupGroup(TP_CLEANUP_GROUP *);
|
||||
NTSYSAPI void WINAPI TpReleaseCleanupGroupMembers(TP_CLEANUP_GROUP *,BOOL,PVOID);
|
||||
NTSYSAPI void WINAPI TpReleaseTimer(TP_TIMER *);
|
||||
NTSYSAPI void WINAPI TpReleaseWork(TP_WORK *);
|
||||
NTSYSAPI void WINAPI TpSetTimer(TP_TIMER *, LARGE_INTEGER *,LONG,LONG);
|
||||
NTSYSAPI void WINAPI TpWaitForTimer(TP_TIMER *,BOOL);
|
||||
NTSYSAPI void WINAPI TpWaitForWork(TP_WORK *,BOOL);
|
||||
|
||||
/* Wine internal functions */
|
||||
|
|
Loading…
Reference in New Issue