IEEE 1394 Driver Thread Priorities (Windows CE 5.0)

Send Feedback

You can adjust thread priorities for IEEE 1394 drivers through the registry. Thread priority adjustments apply to each IEEE 1394 driver and take place at boot-time. All IEEE 1394 drivers must load with the same set of priorities. Changing the thread priorities of the IEEE 1394 drivers at run-time results in unpredictable behavior.

Wdm1394.h defines PASSIVE_LEVEL, APC_LEVEL, DISPATCH_LEVEL, and DIRQL as global variables. These variables must be initialized before any code can use them.

WDM1394Init should initialize the thread priority variables. Generally, the call to WDM1394Init is in the DLL entry point for the IEEE 1394 module. If the module does not perform special processing in its entry point, the module can use WDM1394DllMain as the entry point.

Wdmutil.lib defines the WDM1394Init and WDM1394DllMain entry points. The source for Wdmutil.lib is in %_WINCEROOT%\Public\Common\OAK\Drivers\1394\Drivers\Wdmutil.

The following table shows the default thread priorities.

Thread priority Value
PASSIVE_LEVEL 250
APC_LEVEL 249
DISPLATCH_LEVEL 248
DIRQL 247

The following registry sample shows how to override these values in the registry.

[HKEY_LOCAL_MACHINE\Drivers\WDMDrivers]
  "PassivePrio256"=dword:fb   ; 251 - thread_priority_normal
  "APCPrio256"=dword:f9       ; 249
  "DispatchPrio256"=dword:f6  ; 246 
  "DIRQLPrio256"=dword:f5     ; 245

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.