IoSetCompletionRoutineExCheckDeviceObject rule (wdm)

The IoSetCompletionRoutineExCheckDeviceObject rule specifies that if the current device object is not passed to IoSetCompletionRoutineEx and the lower device object is, this can lead to a race condition where the current device object could be unloaded even though the completion routine has not run.

Driver model WDM

How to test

At compile time

Run Static Driver Verifier and specify the IoSetCompletionRoutineExCheckDeviceObject rule.

Use the following steps to run an analysis of your code:
  1. Prepare your code (use role type declarations).
  2. Run Static Driver Verifier.
  3. View and analyze the results.

For more information, see Using Static Driver Verifier to Find Defects in Drivers.

Applies to