IoQueueWorkItem function (wdm.h)

The IoQueueWorkItem routine associates a WorkItem routine with a work item, and it inserts the work item into a queue for later processing by a system worker thread.

Syntax

void IoQueueWorkItem(
  [in]           __drv_aliasesMem PIO_WORKITEM IoWorkItem,
  [in]           PIO_WORKITEM_ROUTINE          WorkerRoutine,
  [in]           WORK_QUEUE_TYPE               QueueType,
  [in, optional] __drv_aliasesMem PVOID        Context
);

Parameters

[in] IoWorkItem

Pointer to an IO_WORKITEM structure that was allocated by IoAllocateWorkItem or initialized by IoInitializeWorkItem.

[in] WorkerRoutine

Pointer to a WorkItem routine.

[in] QueueType

Specifies a WORK_QUEUE_TYPE value that stipulates the type of system worker thread to handle the work item. Drivers must specify DelayedWorkQueue.

[in, optional] Context

Specifies driver-specific information for the work item. The system passes this value as the Context parameter to WorkItem.

Return value

None

Remarks

For more information about work items, see System Worker Threads.

Requirements

Requirement Value
Minimum supported client Available starting with Windows 2000.
Target Platform Universal
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

See also

IO_WORKITEM

IoAllocateWorkItem

IoQueueWorkItemEx

WorkItem