### threadpoolapiset.h ###

CallbackMayRunLong=func
func.CallbackMayRunLong.args=1
func.CallbackMayRunLong.arg.0=PTP_CALLBACK_INSTANCE,pci
func.CallbackMayRunLong.ret=BOOL

CancelThreadpoolIo=func
func.CancelThreadpoolIo.args=1
func.CancelThreadpoolIo.arg.0=PTP_IO,pio
func.CancelThreadpoolIo.ret=VOID

CloseThreadpool=func
func.CloseThreadpool.args=1
func.CloseThreadpool.arg.0=PTP_POOL,ptpp
func.CloseThreadpool.ret=VOID

CloseThreadpoolCleanupGroup=func
func.CloseThreadpoolCleanupGroup.args=1
func.CloseThreadpoolCleanupGroup.arg.0=PTP_CLEANUP_GROUP,ptpcg
func.CloseThreadpoolCleanupGroup.ret=VOID

CloseThreadpoolCleanupGroupMembers=func
func.CloseThreadpoolCleanupGroupMembers.args=3
func.CloseThreadpoolCleanupGroupMembers.arg.0=PTP_CLEANUP_GROUP,ptpcg
func.CloseThreadpoolCleanupGroupMembers.arg.1=BOOL,fCancelPendingCallbacks
func.CloseThreadpoolCleanupGroupMembers.arg.2=PVOID,pvCleanupContext
func.CloseThreadpoolCleanupGroupMembers.ret=VOID

CloseThreadpoolIo=func
func.CloseThreadpoolIo.args=1
func.CloseThreadpoolIo.arg.0=PTP_IO,pio
func.CloseThreadpoolIo.ret=VOID

CloseThreadpoolTimer=func
func.CloseThreadpoolTimer.args=1
func.CloseThreadpoolTimer.arg.0=PTP_TIMER,pti
func.CloseThreadpoolTimer.ret=VOID

CloseThreadpoolWait=func
func.CloseThreadpoolWait.args=1
func.CloseThreadpoolWait.arg.0=PTP_WAIT,pwa
func.CloseThreadpoolWait.ret=VOID

CloseThreadpoolWork=func
func.CloseThreadpoolWork.args=1
func.CloseThreadpoolWork.arg.0=PTP_WORK,pwk
func.CloseThreadpoolWork.ret=VOID

CreateThreadpool=func
func.CreateThreadpool.args=1
func.CreateThreadpool.arg.0=PVOID,reserved
func.CreateThreadpool.ret=PTP_POOL

CreateThreadpoolCleanupGroup=func
func.CreateThreadpoolCleanupGroup.args=0
func.CreateThreadpoolCleanupGroup.ret=PTP_CLEANUP_GROUP

CreateThreadpoolIo=func
func.CreateThreadpoolIo.args=4
func.CreateThreadpoolIo.arg.0=HANDLE,fl
func.CreateThreadpoolIo.arg.1=PTP_WIN32_IO_CALLBACK,pfnio
func.CreateThreadpoolIo.arg.2=PVOID,pv
func.CreateThreadpoolIo.arg.3=PTP_CALLBACK_ENVIRON,pcbe
func.CreateThreadpoolIo.ret=PTP_IO

CreateThreadpoolTimer=func
func.CreateThreadpoolTimer.args=3
func.CreateThreadpoolTimer.arg.0=PTP_TIMER_CALLBACK,pfnti
func.CreateThreadpoolTimer.arg.1=PVOID,pv
func.CreateThreadpoolTimer.arg.2=PTP_CALLBACK_ENVIRON,pcbe
func.CreateThreadpoolTimer.ret=PTP_TIMER

CreateThreadpoolWait=func
func.CreateThreadpoolWait.args=3
func.CreateThreadpoolWait.arg.0=PTP_WAIT_CALLBACK,pfnwa
func.CreateThreadpoolWait.arg.1=PVOID,pv
func.CreateThreadpoolWait.arg.2=PTP_CALLBACK_ENVIRON,pcbe
func.CreateThreadpoolWait.ret=PTP_WAIT

CreateThreadpoolWork=func
func.CreateThreadpoolWork.args=3
func.CreateThreadpoolWork.arg.0=PTP_WORK_CALLBACK,pfnwk
func.CreateThreadpoolWork.arg.1=PVOID,pv
func.CreateThreadpoolWork.arg.2=PTP_CALLBACK_ENVIRON,pcbe
func.CreateThreadpoolWork.ret=PTP_WORK

DisassociateCurrentThreadFromCallback=func
func.DisassociateCurrentThreadFromCallback.args=1
func.DisassociateCurrentThreadFromCallback.arg.0=PTP_CALLBACK_INSTANCE,pci
func.DisassociateCurrentThreadFromCallback.ret=VOID

FreeLibraryWhenCallbackReturns=func
func.FreeLibraryWhenCallbackReturns.args=2
func.FreeLibraryWhenCallbackReturns.arg.0=PTP_CALLBACK_INSTANCE,pci
func.FreeLibraryWhenCallbackReturns.arg.1=HMODULE,mod
func.FreeLibraryWhenCallbackReturns.ret=VOID

IsThreadpoolTimerSet=func
func.IsThreadpoolTimerSet.args=1
func.IsThreadpoolTimerSet.arg.0=PTP_TIMER,pti
func.IsThreadpoolTimerSet.ret=BOOL

LeaveCriticalSectionWhenCallbackReturns=func
func.LeaveCriticalSectionWhenCallbackReturns.args=2
func.LeaveCriticalSectionWhenCallbackReturns.arg.0=PTP_CALLBACK_INSTANCE,pci
func.LeaveCriticalSectionWhenCallbackReturns.arg.1=PCRITICAL_SECTION,pcs
func.LeaveCriticalSectionWhenCallbackReturns.ret=VOID

QueryThreadpoolStackInformation=func
func.QueryThreadpoolStackInformation.args=2
func.QueryThreadpoolStackInformation.arg.0=PTP_POOL,ptpp
func.QueryThreadpoolStackInformation.arg.1=PTP_POOL_STACK_INFORMATION,ptpsi
func.QueryThreadpoolStackInformation.ret=BOOL

ReleaseMutexWhenCallbackReturns=func
func.ReleaseMutexWhenCallbackReturns.args=2
func.ReleaseMutexWhenCallbackReturns.arg.0=PTP_CALLBACK_INSTANCE,pci
func.ReleaseMutexWhenCallbackReturns.arg.1=HANDLE,mut
func.ReleaseMutexWhenCallbackReturns.ret=VOID

ReleaseSemaphoreWhenCallbackReturns=func
func.ReleaseSemaphoreWhenCallbackReturns.args=3
func.ReleaseSemaphoreWhenCallbackReturns.arg.0=PTP_CALLBACK_INSTANCE,pci
func.ReleaseSemaphoreWhenCallbackReturns.arg.1=HANDLE,sem
func.ReleaseSemaphoreWhenCallbackReturns.arg.2=DWORD,crel
func.ReleaseSemaphoreWhenCallbackReturns.ret=VOID

SetEventWhenCallbackReturns=func
func.SetEventWhenCallbackReturns.args=2
func.SetEventWhenCallbackReturns.arg.0=PTP_CALLBACK_INSTANCE,pci
func.SetEventWhenCallbackReturns.arg.1=HANDLE,evt
func.SetEventWhenCallbackReturns.ret=VOID

SetThreadpoolStackInformation=func
func.SetThreadpoolStackInformation.args=2
func.SetThreadpoolStackInformation.arg.0=PTP_POOL,ptpp
func.SetThreadpoolStackInformation.arg.1=PTP_POOL_STACK_INFORMATION,ptpsi
func.SetThreadpoolStackInformation.ret=BOOL

SetThreadpoolThreadMaximum=func
func.SetThreadpoolThreadMaximum.args=2
func.SetThreadpoolThreadMaximum.arg.0=PTP_POOL,ptpp
func.SetThreadpoolThreadMaximum.arg.1=DWORD,cthrdMost
func.SetThreadpoolThreadMaximum.ret=VOID

SetThreadpoolThreadMinimum=func
func.SetThreadpoolThreadMinimum.args=2
func.SetThreadpoolThreadMinimum.arg.0=PTP_POOL,ptpp
func.SetThreadpoolThreadMinimum.arg.1=DWORD,cthrdMic
func.SetThreadpoolThreadMinimum.ret=BOOL

SetThreadpoolTimer=func
func.SetThreadpoolTimer.args=4
func.SetThreadpoolTimer.arg.0=PTP_TIMER,pti
func.SetThreadpoolTimer.arg.1=PFILETIME,pftDueTime
func.SetThreadpoolTimer.arg.2=DWORD,msPeriod
func.SetThreadpoolTimer.arg.3=DWORD,msWindowLength
func.SetThreadpoolTimer.ret=VOID

SetThreadpoolTimerEx=func
func.SetThreadpoolTimerEx.args=4
func.SetThreadpoolTimerEx.arg.0=PTP_TIMER,pti
func.SetThreadpoolTimerEx.arg.1=PFILETIME,pftDueTime
func.SetThreadpoolTimerEx.arg.2=DWORD,msPeriod
func.SetThreadpoolTimerEx.arg.3=DWORD,msWindowLength
func.SetThreadpoolTimerEx.ret=BOOL

SetThreadpoolWait=func
func.SetThreadpoolWait.args=3
func.SetThreadpoolWait.arg.0=PTP_WAIT,pwa
func.SetThreadpoolWait.arg.1=HANDLE,h
func.SetThreadpoolWait.arg.2=PFILETIME,pftTimeout
func.SetThreadpoolWait.ret=VOID

SetThreadpoolWaitEx=func
func.SetThreadpoolWaitEx.args=4
func.SetThreadpoolWaitEx.arg.0=PTP_WAIT,pwa
func.SetThreadpoolWaitEx.arg.1=HANDLE,h
func.SetThreadpoolWaitEx.arg.2=PFILETIME,pftTimeout
func.SetThreadpoolWaitEx.arg.3=PVOID,Reserved
func.SetThreadpoolWaitEx.ret=BOOL

StartThreadpoolIo=func
func.StartThreadpoolIo.args=1
func.StartThreadpoolIo.arg.0=PTP_IO,pio
func.StartThreadpoolIo.ret=VOID

SubmitThreadpoolWork=func
func.SubmitThreadpoolWork.args=1
func.SubmitThreadpoolWork.arg.0=PTP_WORK,pwk
func.SubmitThreadpoolWork.ret=VOID

TrySubmitThreadpoolCallback=func
func.TrySubmitThreadpoolCallback.args=3
func.TrySubmitThreadpoolCallback.arg.0=PTP_SIMPLE_CALLBACK,pfns
func.TrySubmitThreadpoolCallback.arg.1=PVOID,pv
func.TrySubmitThreadpoolCallback.arg.2=PTP_CALLBACK_ENVIRON,pcbe
func.TrySubmitThreadpoolCallback.ret=BOOL

WaitForThreadpoolIoCallbacks=func
func.WaitForThreadpoolIoCallbacks.args=2
func.WaitForThreadpoolIoCallbacks.arg.0=PTP_IO,pio
func.WaitForThreadpoolIoCallbacks.arg.1=BOOL,fCancelPendingCallbacks
func.WaitForThreadpoolIoCallbacks.ret=VOID

WaitForThreadpoolTimerCallbacks=func
func.WaitForThreadpoolTimerCallbacks.args=2
func.WaitForThreadpoolTimerCallbacks.arg.0=PTP_TIMER,pti
func.WaitForThreadpoolTimerCallbacks.arg.1=BOOL,fCancelPendingCallbacks
func.WaitForThreadpoolTimerCallbacks.ret=VOID

WaitForThreadpoolWaitCallbacks=func
func.WaitForThreadpoolWaitCallbacks.args=2
func.WaitForThreadpoolWaitCallbacks.arg.0=PTP_WAIT,pwa
func.WaitForThreadpoolWaitCallbacks.arg.1=BOOL,fCancelPendingCallbacks
func.WaitForThreadpoolWaitCallbacks.ret=VOID

WaitForThreadpoolWorkCallbacks=func
func.WaitForThreadpoolWorkCallbacks.args=2
func.WaitForThreadpoolWorkCallbacks.arg.0=PTP_WORK,pwk
func.WaitForThreadpoolWorkCallbacks.arg.1=BOOL,fCancelPendingCallbacks
func.WaitForThreadpoolWorkCallbacks.ret=VOID
