Previous Next

System Worker Threads

System worker threads are kernel-mode threads that are provided by the executive. Drivers, including FSDs, can use these threads to get work done within a nonarbitrary thread and process context.

A driver calls IoAllocateWorkItem to create a work queue item. The driver then calls IoQueueWorkItem, to queue the work item and to specify a driver-supplied callback routine.

The kernel subsequently dequeues the work item and calls the callback routine in the context of a system worker thread. The callback routine performs work and calls IoFreeWorkItem to free the work queue item.