// wdm.h
typedef enum _WORK_QUEUE_TYPE {
CriticalWorkQueue,
DelayedWorkQueue,
HyperCriticalWorkQueue,
NormalWorkQueue,
BackgroundWorkQueue,
RealTimeWorkQueue,
SuperCriticalWorkQueue,
MaximumWorkQueue,
CustomPriorityWorkQueue
} WORK_QUEUE_TYPE;
View the official Windows Driver Kit DDI referenceNo description available.
The WORK_QUEUE_TYPE enumeration type indicates the type of system worker thread that handles a work item.
CriticalWorkQueueIndicates a real-time system worker thread. The assigned priority level is 13.
DelayedWorkQueueIndicates an ordinary worker thread. The assigned priority level is 12.
HyperCriticalWorkQueueSystem priority level. The assigned priority level is 15.
NormalWorkQueueSystem priority level. The assigned priority level is 8
BackgroundWorkQueueSystem priority level. The assigned priority level is 7.
RealTimeWorkQueueSystem priority level. The assigned priority level is18.
SuperCriticalWorkQueueSystem priority level. The assigned priority level is 14.
MaximumWorkQueueSystem priority maximum. No priority level assigned.
CustomPriorityWorkQueueThe queue has a custom priority level assigned by the caller. The CustomPriorityWorkQueue value is the base priority level for the custom priority queue. Work items are queued at a particular priority by setting QueueType to CustomPriorityWorkQueue + Priority where Priority is the KPRIORITY value for the work item.
This queue type is valid starting with Windows 8.1.
For drivers targeting Windows 8.1 or later versions of Windows, use of only CustomPriorityWorkQueue with a custom priority level is recommended.
A work queue priority < 17 is advised since queuing at a higher priority may interfere with work item processing by critical system components.
For more information about system worker threads, see System Worker Threads.