Real-Time Priority System Levels
The priority system has 256 Priority Levels numbered 0 (zero) through 255. Priority level 0 is the highest priority level. The original 8 priority levels for Microsoft® Windows® CE 2.12 and previous versions are mapped to levels 248 through 255.
Applications and device drivers should use the CeGetThreadPriority and CeSetThreadPriority APIs, instead of the legacy APIs GetThreadPriority and SetThreadPriority. The legacy APIs are still available with the same interfaces as before, but those APIs have access only to the original 8 priority levels.
The priority level system is broken into four ranges. These ranges are shown in the following table.
Levels | Description |
---|---|
0 through 96 | Reserved for real-time above drivers. |
97 through 152 | Used by the default Windows CE–based device drivers. |
153 through 247 | Reserved for real-time below drivers. |
248 through 255 | Maps to non-real-time priorities. |
The following table lists the default priority levels associated with device drivers. You can override these values either by changing the source code for the drivers, or by setting values in the registry. The registry paths shown in the following table assume that the root Drivers key is HKEY_LOCAL_MACHINE\Drivers\BuiltIn; keep in mind that the registry uses hexadecimal values for the priority levels. This data is also in %_WINCEROOT%\Public\Common\OAK\Drivers\Realtime.txt.
Decimal priority | Hexadecimal priority | Device driver | Override |
---|---|---|---|
20 | 0x14 | Permedia3 vertical retrace | HKEY_LOCAL_MACHINE\Drivers\Display\Permedia3\Priority256 |
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 OAL. In OEMInit, set g_dwKITLThreadPriority (extern DWORD) to the desired priority before calling KitlInit. |
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 | TVIA5000 Display | HKEY_LOCAL_MACHINE\Drivers\Display\TVIA5000\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 |
See Also
Real-Time Priority System | Real-Time Priority System Response Times
Last updated on Tuesday, May 18, 2004
© 1992-2003 Microsoft Corporation. All rights reserved.