Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
#pragma once
#ifndef _THREADPOOLAPISET_H_#define _THREADPOOLAPISET_H_
#include <minwindef.h>#include <minwinbase.h>
#ifdef __cplusplusextern "C" {#endif
WINBASEAPI_Must_inspect_result_PTP_POOLWINAPICreateThreadpool( _Reserved_ PVOID reserved);
WINBASEAPIVOIDWINAPICloseThreadpool( _Inout_ PTP_POOL ptpp);
WINBASEAPIBOOLWINAPISetThreadpoolThreadMinimum( _Inout_ PTP_POOL ptpp, _In_ DWORD cthrdMic);
WINBASEAPIVOIDWINAPISetThreadpoolThreadMaximum( _Inout_ PTP_POOL ptpp, _In_ DWORD cthrdMost);
WINBASEAPIBOOLWINAPIQueryThreadpoolStackInformation( _In_ PTP_POOL ptpp, _Out_ PTP_POOL_STACK_INFORMATION ptpsi);
WINBASEAPIBOOLWINAPISetThreadpoolStackInformation( _Inout_ PTP_POOL ptpp, _In_ PTP_POOL_STACK_INFORMATION ptpsi);
WINBASEAPI_Must_inspect_result_BOOLWINAPITrySubmitThreadpoolCallback( _In_ PTP_SIMPLE_CALLBACK pfns, _Inout_opt_ PVOID pv, _In_opt_ PTP_CALLBACK_ENVIRON pcbe);
WINBASEAPIBOOLWINAPICallbackMayRunLong( _Inout_ PTP_CALLBACK_INSTANCE pci);
WINBASEAPIVOIDWINAPIDisassociateCurrentThreadFromCallback( _Inout_ PTP_CALLBACK_INSTANCE pci);
WINBASEAPIVOIDWINAPIFreeLibraryWhenCallbackReturns( _Inout_ PTP_CALLBACK_INSTANCE pci, _In_ HMODULE mod);
WINBASEAPIVOIDWINAPILeaveCriticalSectionWhenCallbackReturns( _Inout_ PTP_CALLBACK_INSTANCE pci, _Inout_ PCRITICAL_SECTION pcs);
WINBASEAPIVOIDWINAPIReleaseMutexWhenCallbackReturns( _Inout_ PTP_CALLBACK_INSTANCE pci, _In_ HANDLE mut);
WINBASEAPIVOIDWINAPIReleaseSemaphoreWhenCallbackReturns( _Inout_ PTP_CALLBACK_INSTANCE pci, _In_ HANDLE sem, _In_ DWORD crel);
WINBASEAPIVOIDWINAPISetEventWhenCallbackReturns( _Inout_ PTP_CALLBACK_INSTANCE pci, _In_ HANDLE evt);
WINBASEAPI_Must_inspect_result_PTP_CLEANUP_GROUPWINAPICreateThreadpoolCleanupGroup( VOID);
WINBASEAPIVOIDWINAPICloseThreadpoolCleanupGroup( _Inout_ PTP_CLEANUP_GROUP ptpcg);
WINBASEAPIVOIDWINAPICloseThreadpoolCleanupGroupMembers( _Inout_ PTP_CLEANUP_GROUP ptpcg, _In_ BOOL fCancelPendingCallbacks, _Inout_opt_ PVOID pvCleanupContext);
typedefVOID(WINAPI *PTP_WIN32_IO_CALLBACK)( _Inout_ PTP_CALLBACK_INSTANCE Instance, _Inout_opt_ PVOID Context, _Inout_opt_ PVOID Overlapped, _In_ ULONG IoResult, _In_ ULONG_PTR NumberOfBytesTransferred, _Inout_ PTP_IO Io);
WINBASEAPI_Must_inspect_result_PTP_IOWINAPICreateThreadpoolIo( _In_ HANDLE fl, _In_ PTP_WIN32_IO_CALLBACK pfnio, _Inout_opt_ PVOID pv, _In_opt_ PTP_CALLBACK_ENVIRON pcbe);
WINBASEAPIVOIDWINAPICloseThreadpoolIo( _Inout_ PTP_IO pio);
WINBASEAPIVOIDWINAPIStartThreadpoolIo( _Inout_ PTP_IO pio);
WINBASEAPIVOIDWINAPICancelThreadpoolIo( _Inout_ PTP_IO pio);
WINBASEAPIVOIDWINAPIWaitForThreadpoolIoCallbacks( _Inout_ PTP_IO pio, _In_ BOOL fCancelPendingCallbacks);
WINBASEAPI_Must_inspect_result_PTP_TIMERWINAPICreateThreadpoolTimer( _In_ PTP_TIMER_CALLBACK pfnti, _Inout_opt_ PVOID pv, _In_opt_ PTP_CALLBACK_ENVIRON pcbe);
WINBASEAPIVOIDWINAPICloseThreadpoolTimer( _Inout_ PTP_TIMER pti);
WINBASEAPIVOIDWINAPISetThreadpoolTimer( _Inout_ PTP_TIMER pti, _In_opt_ PFILETIME pftDueTime, _In_ DWORD msPeriod, _In_opt_ DWORD msWindowLength);
WINBASEAPIBOOLWINAPISetThreadpoolTimerEx( _Inout_ PTP_TIMER pti, _In_opt_ PFILETIME pftDueTime, _In_ DWORD msPeriod, _In_opt_ DWORD msWindowLength);
WINBASEAPIBOOLWINAPIIsThreadpoolTimerSet( _Inout_ PTP_TIMER pti);
WINBASEAPIVOIDWINAPIWaitForThreadpoolTimerCallbacks( _Inout_ PTP_TIMER pti, _In_ BOOL fCancelPendingCallbacks);
WINBASEAPI_Must_inspect_result_PTP_WAITWINAPICreateThreadpoolWait( _In_ PTP_WAIT_CALLBACK pfnwa, _Inout_opt_ PVOID pv, _In_opt_ PTP_CALLBACK_ENVIRON pcbe);
WINBASEAPIVOIDWINAPICloseThreadpoolWait( _Inout_ PTP_WAIT pwa);
WINBASEAPIVOIDWINAPISetThreadpoolWait( _Inout_ PTP_WAIT pwa, _In_opt_ HANDLE h, _In_opt_ PFILETIME pftTimeout);
WINBASEAPIBOOLWINAPISetThreadpoolWaitEx( _Inout_ PTP_WAIT pwa, _In_opt_ HANDLE h, _In_opt_ PFILETIME pftTimeout, _Reserved_ PVOID Reserved);
WINBASEAPIVOIDWINAPIWaitForThreadpoolWaitCallbacks( _Inout_ PTP_WAIT pwa, _In_ BOOL fCancelPendingCallbacks);
WINBASEAPI_Must_inspect_result_PTP_WORKWINAPICreateThreadpoolWork( _In_ PTP_WORK_CALLBACK pfnwk, _Inout_opt_ PVOID pv, _In_opt_ PTP_CALLBACK_ENVIRON pcbe);
WINBASEAPIVOIDWINAPICloseThreadpoolWork( _Inout_ PTP_WORK pwk);
WINBASEAPIVOIDWINAPISubmitThreadpoolWork( _Inout_ PTP_WORK pwk);
WINBASEAPIVOIDWINAPIWaitForThreadpoolWorkCallbacks( _Inout_ PTP_WORK pwk, _In_ BOOL fCancelPendingCallbacks);
#ifdef __cplusplus} // extern "C"#endif
#endif // _THREADPOOLAPISET_H_