IoBuildDeviceControlNoFree rule (wdm)

The IoBuildDeviceControlNoFree rule specifies that a driver that calls IoBuildDeviceIoControlRequest must not call IoFreeIrp.

A driver that calls IoBuildDeviceIoControlRequest must not call IoFreeIrp because the I/O manager frees these synchronous IRPs after IoCompleteRequest has been called.

Driver model: WDM

How to test

At compile time

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

IoBuildDeviceIoControlRequest IoFreeIrp