Specifying Priority Boosts When Completing I/O Requests
When a driver completes an I/O request, it can call WdfRequestCompleteWithPriorityBoost to specify a value that the system uses to boost the run-time priority of the thread that requested the I/O operation.
If the driver calls WdfRequestComplete or WdfRequestCompleteWithInformation instead of WdfRequestCompleteWithPriorityBoost, the framework uses a default priority boost value that is based on the device type. The following table lists the default priority boost values that the framework uses. The device type and priority boost constants are defined in Wdm.h.
Device Type | Default Priority Boost |
---|---|
FILE_DEVICE_UNDEFINED | IO_NO_INCREMENT |
FILE_DEVICE_BEEP | IO_NO_INCREMENT |
FILE_DEVICE_CD_ROM | IO_CD_ROM_INCREMENT |
FILE_DEVICE_CD_ROM_FILE_SYSTEM | IO_CD_ROM_INCREMENT |
FILE_DEVICE_CONTROLLER | IO_NO_INCREMENT |
FILE_DEVICE_DATALINK | IO_NO_INCREMENT |
FILE_DEVICE_DFS | IO_NO_INCREMENT |
FILE_DEVICE_DISK | IO_DISK_INCREMENT |
FILE_DEVICE_DISK_FILE_SYSTEM | IO_DISK_INCREMENT |
FILE_DEVICE_FILE_SYSTEM | IO_NO_INCREMENT |
FILE_DEVICE_INPORT_PORT | IO_NO_INCREMENT |
FILE_DEVICE_KEYBOARD | IO_KEYBOARD_INCREMENT |
FILE_DEVICE_MAILSLOT | IO_MAILSLOT_INCREMENT |
FILE_DEVICE_MIDI_IN | IO_SOUND_INCREMENT |
FILE_DEVICE_MIDI_OUT | IO_SOUND_INCREMENT |
FILE_DEVICE_MOUSE | IO_MOUSE_INCREMENT |
FILE_DEVICE_MULTI_UNC_PROVIDER | IO_NO_INCREMENT |
FILE_DEVICE_NAMED_PIPE | IO_NAMED_PIPE_INCREMENT |
FILE_DEVICE_NETWORK | IO_NETWORK_INCREMENT |
FILE_DEVICE_NETWORK_BROWSER | IO_NETWORK_INCREMENT |
FILE_DEVICE_NETWORK_FILE_SYSTEM | IO_NETWORK_INCREMENT |
FILE_DEVICE_NULL | IO_NO_INCREMENT |
FILE_DEVICE_PARALLEL_PORT | IO_PARALLEL_INCREMENT |
FILE_DEVICE_PHYSICAL_NETCARD | IO_NETWORK_INCREMENT |
FILE_DEVICE_PRINTER | IO_NO_INCREMENT |
FILE_DEVICE_SCANNER | IO_NO_INCREMENT |
FILE_DEVICE_SERIAL_MOUSE_PORT | IO_SERIAL_INCREMENT |
FILE_DEVICE_SERIAL_PORT | IO_SERIAL_INCREMENT |
FILE_DEVICE_SCREEN | IO_VIDEO_INCREMENT |
FILE_DEVICE_SOUND | IO_SOUND_INCREMENT |
FILE_DEVICE_STREAMS | IO_SOUND_INCREMENT |
FILE_DEVICE_TAPE | IO_NO_INCREMENT |
FILE_DEVICE_TAPE_FILE_SYSTEM | IO_NO_INCREMENT |
FILE_DEVICE_TRANSPORT | IO_NO_INCREMENT |
FILE_DEVICE_UNKNOWN | IO_NO_INCREMENT |
FILE_DEVICE_VIDEO | IO_VIDEO_INCREMENT |
FILE_DEVICE_VIRTUAL_DISK | IO_DISK_INCREMENT |
FILE_DEVICE_WAVE_IN | IO_SOUND_INCREMENT |
FILE_DEVICE_WAVE_OUT | IO_SOUND_INCREMENT |
FILE_DEVICE_8042_PORT | IO_KEYBOARD_INCREMENT |
FILE_DEVICE_NETWORK_REDIRECTOR | IO_NETWORK_INCREMENT |
FILE_DEVICE_BATTERY | IO_NO_INCREMENT |
FILE_DEVICE_BUS_EXTENDER | IO_NO_INCREMENT |
FILE_DEVICE_MODEM | IO_SERIAL_INCREMENT |
FILE_DEVICE_VDM | IO_NO_INCREMENT |
FILE_DEVICE_MASS_STORAGE | IO_DISK_INCREMENT |
FILE_DEVICE_SMB | IO_NETWORK_INCREMENT |
FILE_DEVICE_KS | IO_SOUND_INCREMENT |
FILE_DEVICE_CHANGER | IO_NO_INCREMENT |
FILE_DEVICE_SMARTCARD | IO_NO_INCREMENT |
FILE_DEVICE_ACPI | IO_NO_INCREMENT |
FILE_DEVICE_DVD | IO_NO_INCREMENT |
FILE_DEVICE_FULLSCREEN_VIDEO | IO_VIDEO_INCREMENT |
FILE_DEVICE_DFS_FILE_SYSTEM | IO_NO_INCREMENT |
FILE_DEVICE_DFS_VOLUME | IO_NO_INCREMENT |
FILE_DEVICE_SERENUM | IO_SERIAL_INCREMENT |
FILE_DEVICE_TERMSRV | IO_NO_INCREMENT |
FILE_DEVICE_KSEC | IO_NO_INCREMENT |
FILE_DEVICE_FIPS | IO_NO_INCREMENT |
FILE_DEVICE_INFINIBAND | IO_NO_INCREMENT |
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for