IrqlDispatch rule (storport)

This rule verifies that the following routines are only called at IRQL = DISPATCH_LEVEL.

  • AllocateAdapterChannel

  • FreeAdapterChannel

  • FreeMapRegisters

  • GetScatterGatherList

  • IoAllocateController

  • IoFreeController

  • IoStartNextPacket

  • KeAcquireSpinLockAtDpcLevel

  • KeInsertByKeyDeviceQueue

  • KeInsertDeviceQueue

  • KeReleaseSpinLockFromDpcLevel

  • KeRemoveByKeyDeviceQueue

  • KeRemoveDeviceQueue

  • PutScatterGatherList

Driver model: Storport

How to test

At compile time

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

AllocateAdapterChannel FreeAdapterChannel FreeMapRegisters GetScatterGatherList IoAllocateController IoFreeController IoStartNextPacket KeAcquireSpinLockAtDpcLevel KeInsertByKeyDeviceQueue KeInsertDeviceQueue KeReleaseSpinLockFromDpcLevel KeRemoveByKeyDeviceQueue KeRemoveDeviceQueue PutScatterGatherList