EvtSurpriseRemoveNoSuspendQueue rule (kmdf)

The EvtSurpriseRemoveNoSuspendQueue rule specifies that WDF Drivers shouldn’t drain, stop, or purge the queue from EvtDeviceSurpriseRemoval callback function, instead self-managed I/O callback functions should be used. The EvtDeviceSurpriseRemoval callback function isn’t synchronized with the power-down path.

Driver model: KMDF

How to test

At compile time

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

WdfIoQueueDrain WdfIoQueueDrainSynchronously WdfIoQueuePurge WdfIoQueuePurgeSynchronously WdfIoQueueStop WdfIoQueueStopAndPurge WdfIoQueueStopAndPurgeSynchronously WdfIoQueueStopSynchronously