|
typedef DWORD | TP_VERSION |
|
typedef DWORD * | PTP_VERSION |
|
typedef VOID(* | PTP_SIMPLE_CALLBACK) (PTP_CALLBACK_INSTANCE Instance, PVOID Context) |
|
typedef struct TP_POOL_STACK_INFORMATION * | PTP_POOL_STACK_INFORMATION |
|
typedef VOID(* | PTP_CLEANUP_GROUP_CANCEL_CALLBACK) (PVOID ObjectContext, PVOID CleanupContext) |
|
typedef TP_CALLBACK_ENVIRON_V1 | TP_CALLBACK_ENVIRON |
|
typedef TP_CALLBACK_ENVIRON_V1 * | PTP_CALLBACK_ENVIRON |
|
typedef DWORD | TP_WAIT_RESULT |
|
typedef VOID(* | PTP_WORK_CALLBACK) (PTP_CALLBACK_INSTANCE Instance, PVOID Context, PTP_WORK Work) |
|
typedef VOID(* | PTP_TIMER_CALLBACK) (PTP_CALLBACK_INSTANCE Instance, PVOID Context, PTP_TIMER Timer) |
|
typedef VOID(* | PTP_WAIT_CALLBACK) (PTP_CALLBACK_INSTANCE Instance, PVOID Context, PTP_WAIT Wait, TP_WAIT_RESULT WaitResult) |
|
typedef VOID(* | PTP_WIN32_IO_CALLBACK) (PTP_CALLBACK_INSTANCE Instance, PVOID Context, PVOID Overlapped, ULONG IoResult, ULONG_PTR NumberOfBytesTransferred, PTP_IO Io) |
|
|
WINPR_API PTP_WAIT | winpr_CreateThreadpoolWait (PTP_WAIT_CALLBACK pfnwa, PVOID pv, PTP_CALLBACK_ENVIRON pcbe) |
|
WINPR_API VOID | winpr_CloseThreadpoolWait (PTP_WAIT pwa) |
|
WINPR_API VOID | winpr_SetThreadpoolWait (PTP_WAIT pwa, HANDLE h, PFILETIME pftTimeout) |
|
WINPR_API VOID | winpr_WaitForThreadpoolWaitCallbacks (PTP_WAIT pwa, BOOL fCancelPendingCallbacks) |
|
WINPR_API PTP_WORK | winpr_CreateThreadpoolWork (PTP_WORK_CALLBACK pfnwk, PVOID pv, PTP_CALLBACK_ENVIRON pcbe) |
|
WINPR_API VOID | winpr_CloseThreadpoolWork (PTP_WORK pwk) |
|
WINPR_API VOID | winpr_SubmitThreadpoolWork (PTP_WORK pwk) |
|
WINPR_API BOOL | winpr_TrySubmitThreadpoolCallback (PTP_SIMPLE_CALLBACK pfns, PVOID pv, PTP_CALLBACK_ENVIRON pcbe) |
|
WINPR_API VOID | winpr_WaitForThreadpoolWorkCallbacks (PTP_WORK pwk, BOOL fCancelPendingCallbacks) |
|
WINPR_API PTP_TIMER | winpr_CreateThreadpoolTimer (PTP_TIMER_CALLBACK pfnti, PVOID pv, PTP_CALLBACK_ENVIRON pcbe) |
|
WINPR_API VOID | winpr_CloseThreadpoolTimer (PTP_TIMER pti) |
|
WINPR_API BOOL | winpr_IsThreadpoolTimerSet (PTP_TIMER pti) |
|
WINPR_API VOID | winpr_SetThreadpoolTimer (PTP_TIMER pti, PFILETIME pftDueTime, DWORD msPeriod, DWORD msWindowLength) |
|
WINPR_API VOID | winpr_WaitForThreadpoolTimerCallbacks (PTP_TIMER pti, BOOL fCancelPendingCallbacks) |
|
WINPR_API PTP_IO | winpr_CreateThreadpoolIo (HANDLE fl, PTP_WIN32_IO_CALLBACK pfnio, PVOID pv, PTP_CALLBACK_ENVIRON pcbe) |
|
WINPR_API VOID | winpr_CloseThreadpoolIo (PTP_IO pio) |
|
WINPR_API VOID | winpr_StartThreadpoolIo (PTP_IO pio) |
|
WINPR_API VOID | winpr_CancelThreadpoolIo (PTP_IO pio) |
|
WINPR_API VOID | winpr_WaitForThreadpoolIoCallbacks (PTP_IO pio, BOOL fCancelPendingCallbacks) |
|
WINPR_API VOID | winpr_SetThreadpoolCallbackCleanupGroup (PTP_CALLBACK_ENVIRON pcbe, PTP_CLEANUP_GROUP ptpcg, PTP_CLEANUP_GROUP_CANCEL_CALLBACK pfng) |
|
WINPR_API PTP_CLEANUP_GROUP | winpr_CreateThreadpoolCleanupGroup (void) |
|
WINPR_API VOID | winpr_CloseThreadpoolCleanupGroupMembers (PTP_CLEANUP_GROUP ptpcg, BOOL fCancelPendingCallbacks, PVOID pvCleanupContext) |
|
WINPR_API VOID | winpr_CloseThreadpoolCleanupGroup (PTP_CLEANUP_GROUP ptpcg) |
|
WINPR_API PTP_POOL | winpr_CreateThreadpool (PVOID reserved) |
|
WINPR_API VOID | winpr_CloseThreadpool (PTP_POOL ptpp) |
|
WINPR_API BOOL | winpr_SetThreadpoolThreadMinimum (PTP_POOL ptpp, DWORD cthrdMic) |
|
WINPR_API VOID | winpr_SetThreadpoolThreadMaximum (PTP_POOL ptpp, DWORD cthrdMost) |
|
WINPR_API BOOL | winpr_CallbackMayRunLong (PTP_CALLBACK_INSTANCE pci) |
|
WINPR_API VOID | winpr_SetEventWhenCallbackReturns (PTP_CALLBACK_INSTANCE pci, HANDLE evt) |
|
WINPR_API VOID | winpr_ReleaseSemaphoreWhenCallbackReturns (PTP_CALLBACK_INSTANCE pci, HANDLE sem, DWORD crel) |
|
WINPR_API VOID | winpr_ReleaseMutexWhenCallbackReturns (PTP_CALLBACK_INSTANCE pci, HANDLE mut) |
|
WINPR_API VOID | winpr_LeaveCriticalSectionWhenCallbackReturns (PTP_CALLBACK_INSTANCE pci, PCRITICAL_SECTION pcs) |
|
WINPR_API VOID | winpr_FreeLibraryWhenCallbackReturns (PTP_CALLBACK_INSTANCE pci, HMODULE mod) |
|
WINPR_API VOID | winpr_DisassociateCurrentThreadFromCallback (PTP_CALLBACK_INSTANCE pci) |
|
static INLINE VOID | InitializeThreadpoolEnvironment (PTP_CALLBACK_ENVIRON pcbe) |
|
static INLINE VOID | DestroyThreadpoolEnvironment (PTP_CALLBACK_ENVIRON pcbe) |
|
static INLINE VOID | SetThreadpoolCallbackPool (PTP_CALLBACK_ENVIRON pcbe, PTP_POOL ptpp) |
|
static INLINE VOID | SetThreadpoolCallbackRunsLong (PTP_CALLBACK_ENVIRON pcbe) |
|
static INLINE VOID | SetThreadpoolCallbackLibrary (PTP_CALLBACK_ENVIRON pcbe, PVOID mod) |
|
WinPR: Windows Portable Runtime Thread Pool API
Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.