RemoveLockForward rule (wdm)

The RemoveLockForward rule verifies that calls to IoAcquireRemoveLock and IoReleaseRemoveLock are used correctly when forwarding a IRP to another device.

Note this rule does not check IRP_MN_REMOVE_DEVICE, IRP_MN_QUERY_DEVICE or IRP_MN_SUPRISE_REMOVAL IRPs.

Driver model WDM

How to test

At compile time

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

ExInterlockedInsertHeadList ExInterlockedInsertTailList ExInterlockedPushEntryList InsertHeadList IoAcquireRemoveLock IoCallDriver IoCsqInsertIrp IoCsqInsertIrpEx IoReleaseRemoveLock PoCallDriver RemoveHeadList