WDF_EXECUTION_LEVEL enumeration (wdfobject.h)
[Applies to KMDF and UMDF]
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.
Syntax
typedef enum _WDF_EXECUTION_LEVEL {
WdfExecutionLevelInvalid = 0x00,
WdfExecutionLevelInheritFromParent,
WdfExecutionLevelPassive,
WdfExecutionLevelDispatch
} WDF_EXECUTION_LEVEL;
Constants
WdfExecutionLevelInvalid Value: 0x00 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. Not available in UMDF. |
Remarks
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 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)
UMDF By default, the framework sets the ExecutionLevel value of framework driver objects to WdfExecutionLevelPassive.
The default ExecutionLevel value for all other objects is WdfExecutionLevelInheritFromParent.
For more information about execution levels for event callback functions, see Synchronization Techniques for Framework-Based Drivers.
Requirements
Requirement | Value |
---|---|
Minimum KMDF version | 1.0 |
Minimum UMDF version | 2.0 |
Header | wdfobject.h (include Wdf.h) |