Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
The priority system has 256 Priority Levelsnumbered 0 (zero) through 255. Priority level 0 is the highest priority level. The original eight priority levels for Windows CE 2.12 are mapped to levels 248 through 255.
Applications and device drivers should use the CeGetThreadPriorityand CeSetThreadPriorityAPIs, instead of the legacy APIs, GetThreadPriorityand SetThreadPriority. The legacy APIs are still available with the same interfaces as before, but those APIs have access to only the original eight priority levels.
The priority level system is divided into four ranges. The following table shows these ranges.
Levels | Description |
---|---|
0 through 96 |
Reserved for real-time above drivers. |
97 through 152 |
Used by the default Windows Mobile device drivers. |
153 through 247 |
Reserved for real-time below drivers. |
248 through 255 |
Mapped to non-real-time priorities. |
The following table shows the default priority levels that are associated with device drivers. You can override these values by changing the source code for the drivers or by setting values in the registry. The registry paths in the table assume that the root Driverskey is HKEY_LOCAL_MACHINE\Drivers\BuiltIn; the registry uses hexadecimal values for the priority levels.
Decimal priority | Hexadecimal priority | Device driver | Override |
---|---|---|---|
99 |
0x63 |
Power Manager resume thread |
HKEY_LOCAL_MACHINE\CurrentControlSet\Control\Power\ResumePriority256 |
100 |
0x64 |
USB Function |
None |
101, also uses +1 and -1 relative priorities |
0x65, also uses +1 and -1 relative priorities |
USB OHCD |
HKEY_LOCAL_MACHINE\Drivers\BuiltIn\OHCI\Priority256 |
101, also uses +1, +3, +5 and +7 relative priorities |
0x65, also uses +1, +3, +5, and +7 relative priorities |
USB UHCD |
HKEY_LOCAL_MACHINE\Drivers\BuiltIn\UHCI\Priority256 |
103 |
0x67 |
Serial |
HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial\Priority256 |
105, also uses +1 and +2 relative priorities |
0x69, also uses +1 and +2 relative priorities |
PCMCIA |
HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Priority256 |
109 |
0x6D |
Touch |
HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Touch\Priority256 |
110, also uses +2 and +4 relative priorities |
0x6E, also uses +2 and +4 relative priorities |
IRSIR |
HKEY_LOCAL_MACHINE\Comm\Irsir1\Parms\Priority256 |
116, also uses +2, +4, +6, +8, +10 and +12 relative priorities |
0x74, also uses +2, +4, +6, +8, +10, and +12 relative priorities |
NDIS |
HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NDIS\Priority256 |
131 |
0x83 |
KITL |
Override in the OEM Application Layer
|
131 |
0x83 |
VMINI |
HKEY_LOCAL_MACHINE\Comm\VMini\Priority256 |
132 |
0x84 |
CxPort |
HKEY_LOCAL_MACHINE\Comm\Cxport\Priority256 |
145 |
0x91 |
PS/2 Keyboard |
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\KEYBD\Priority256 |
148 |
0x94 |
IR Comm |
HKEY_LOCAL_MACHINE\Drivers\BuiltIn\IrComm\Priority256 |
150 |
0x96 |
TAPI (Unimodem) |
HKEY_LOCAL_MACHINE\Drivers\Unimodem\Priority256 |
210 |
0xD2 |
WaveDev |
HKEY_LOCAL_MACHINE\Drivers\BuiltIn\WaveDev\Priority256 |
248 |
0xF8 |
PM (Power Manager) |
HKEY_LOCAL_MACHINE\CurrentControlSet\Control\Power\Priority256 |
249 |
0xF9 |
PS/2 Mouse |
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\MOUSE\Priority256 |
249 |
0xF9 |
Power Manager device registration thread |
HKEY_LOCAL_MACHINE\CurrentControlSet\Control\Power\PnPPriority256 |
249 |
0xF9 |
Power Manager system management thread |
HKEY_LOCAL_MACHINE\CurrentControlSet\Control\Power\SystemPriority256 |
249 |
0xF9 |
Power Manager activity timer thread |
HKEY_LOCAL_MACHINE\CurrentControlSet\Control\Power\TimerPriority256 |
250 |
0xFA |
WaveAPI |
HKEY_LOCAL_MACHINE\Drivers\BuiltIn\WAPIMAN\Priority256 |
251 |
0xFB |
Power Manager battery monitor thread |
HKEY_LOCAL_MACHINE\CurrentControlSet\Control\Power\PowerPollPriority256 |
Remarks
Threads in Normal (as apposed to Privileged) applications can use thread priorities 248 through 255.
Threads in Privileged applications can use any thread priority.