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 TypeDefault 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

 

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft