Data Structures |
| struct | PRTLP_IOWORKERTHREAD |
| struct | PRTLP_WORKITEM |
Defines |
| #define | NDEBUG |
| #define | MAX_WORKERTHREADS 0x100 |
| #define | WORKERTHREAD_CREATION_THRESHOLD 0x5 |
| #define | IsThreadPoolInitialized() (*((volatile LONG*)&ThreadPoolInitialized) == 1) |
Functions |
| NTSTATUS NTAPI | RtlpStartThread (IN PTHREAD_START_ROUTINE Function, IN PVOID Parameter, OUT PHANDLE ThreadHandle) |
| NTSTATUS NTAPI | RtlpExitThread (IN NTSTATUS ExitStatus) |
| static NTSTATUS | RtlpInitializeThreadPool (VOID) |
| static NTSTATUS | RtlpGetImpersonationToken (OUT PHANDLE TokenHandle) |
| static NTSTATUS | RtlpStartWorkerThread (PTHREAD_START_ROUTINE StartRoutine) |
| static VOID NTAPI | RtlpExecuteWorkItem (IN OUT PVOID NormalContext, IN OUT PVOID SystemArgument1, IN OUT PVOID SystemArgument2) |
| static NTSTATUS | RtlpQueueWorkerThread (IN OUT PRTLP_WORKITEM WorkItem) |
| static VOID NTAPI | RtlpExecuteIoWorkItem (IN OUT PVOID NormalContext, IN OUT PVOID SystemArgument1, IN OUT PVOID SystemArgument2) |
| static NTSTATUS | RtlpQueueIoWorkerThread (IN OUT PRTLP_WORKITEM WorkItem) |
| static BOOLEAN | RtlpIsIoPending (IN HANDLE ThreadHandle OPTIONAL) |
| static ULONG NTAPI | RtlpIoWorkerThreadProc (IN PVOID Parameter) |
| static ULONG NTAPI | RtlpWorkerThreadProc (IN PVOID Parameter) |
| NTSTATUS NTAPI | RtlQueueWorkItem (IN WORKERCALLBACKFUNC Function, IN PVOID Context OPTIONAL, IN ULONG Flags) |
| NTSTATUS NTAPI | RtlSetIoCompletionCallback (IN HANDLE FileHandle, IN PIO_APC_ROUTINE Callback, IN ULONG Flags) |
| NTSTATUS NTAPI | RtlSetThreadPoolStartFunc (IN PRTL_START_POOL_THREAD StartPoolThread, IN PRTL_EXIT_POOL_THREAD ExitPoolThread) |
Variables |
| PRTL_START_POOL_THREAD | RtlpStartThreadFunc = RtlpStartThread |
| PRTL_EXIT_POOL_THREAD | RtlpExitThreadFunc = RtlpExitThread |
| static LONG | ThreadPoolInitialized = 0 |
| static RTL_CRITICAL_SECTION | ThreadPoolLock |
| static PRTLP_IOWORKERTHREAD | PersistentIoThread |
| static LIST_ENTRY | ThreadPoolIOWorkerThreadsList |
| static HANDLE | ThreadPoolCompletionPort |
| static LONG | ThreadPoolWorkerThreads |
| static LONG | ThreadPoolWorkerThreadsRequests |
| static LONG | ThreadPoolWorkerThreadsLongRequests |
| static LONG | ThreadPoolIOWorkerThreads |
| static LONG | ThreadPoolIOWorkerThreadsRequests |
| static LONG | ThreadPoolIOWorkerThreadsLongRequests |