CompletionRoutineRegistered rule (wdm)

The CompletionRoutineRegistered rule specifies that if the dispatch routine registers an IoCompletion routine using IoSetCompletionRoutineEx, the dispatch routine must thereafter call IoCallDriver or PoCallDriver.

The IoSetCompletionRoutineEx routine allocates memory that remains allocated until the IoCompletion routine executes. Drivers must ensure that their IoCompletion routine executes by calling IoCallDriver or PoCallDriver; otherwise, the kernel will leak memory.

Driver modelWDM

How to test

At compile time

Run Static Driver Verifier and specify the CompletionRoutineRegistered 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

IoCallDriver
IoSetCompletionRoutine
IoSetCompletionRoutineEx
PoCallDriver

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft