Windows Driver Kit: Kernel-Mode Driver Framework
WDF_EXECUTION_LEVEL
The WDF_EXECUTION_LEVEL enumeration type specifies the maximum IRQL at which the framework will call the event callback functions that a driver has supplied for a framework object.
typedef enum _WDF_EXECUTION_LEVEL {
WdfExecutionLevelInvalid = 0x00,
WdfExecutionLevelInheritFromParent,
WdfExecutionLevelPassive,
WdfExecutionLevelDispatch,
} WDF_EXECUTION_LEVEL;
Values
- WdfExecutionLevelInvalid
- Reserved for system use.
- WdfExecutionLevelInheritFromParent
- The framework uses the maximum IRQL value of the object's parent, unless the object is one that requires IRQL = DISPATCH_LEVEL (such as a DPC object). This value is the default if a driver does not specify a WDF_EXECUTION_LEVEL-typed value.
- WdfExecutionLevelPassive
- The framework always calls the object's callback functions at IRQL = PASSIVE_LEVEL.
- WdfExecutionLevelDispatch
- The framework calls the object's callback functions at IRQL <= DISPATCH_LEVEL.
Comments
Drivers use the WDF_EXECUTION_LEVEL enumeration type to specify the ExecutionLevel member of an object's WDF_OBJECT_ATTRIBUTES structure.
You can specify an ExecutionLevel value for only the following objects:
- Framework driver objects
- Framework device objects
- Framework file objects
- Framework general objects
- Framework queue objects (Framework versions 1.9 and later)
- Framework timer objects (Framework versions 1.9 and later)
By default, the framework sets the ExecutionLevel value of framework driver objects to WdfExecutionLevelDispatch.
For more information about execution levels for event callback functions, see Synchronization Techniques for Framework-Based Drivers.
Requirements
Versions: The WDF_EXECUTION_LEVEL enumeration type is available in version 1.0 and later versions of KMDF.
Headers: Defined in Wdfobject.h. Include Wdf.h.
See Also
WDF_OBJECT_ATTRIBUTES