UsbKmdfIrql2 rule (kmdf)

The UsbKmdfIrql2 rule specifies that a KMDF driver should not call USB-specific DDIs at the incorrect IRQL level.

Driver model: KMDF

How to test

At compile time

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

WdfUsbInterfaceGetConfiguredPipe
WdfUsbInterfaceGetConfiguredSettingIndex
WdfUsbInterfaceGetDescriptor
WdfUsbInterfaceGetEndpointInformation
WdfUsbInterfaceGetInterfaceNumber
WdfUsbInterfaceGetNumConfiguredPipes
WdfUsbInterfaceGetNumEndpoints
WdfUsbInterfaceGetNumSettings
WdfUsbInterfaceSelectSetting
WdfUsbTargetDeviceAllocAndQueryString
WdfUsbTargetDeviceCreate
WdfUsbTargetDeviceCyclePortSynchronously
WdfUsbTargetDeviceFormatRequestForControlTransfer
WdfUsbTargetDeviceFormatRequestForCyclePort
WdfUsbTargetDeviceFormatRequestForString
WdfUsbTargetDeviceFormatRequestForUrb
WdfUsbTargetDeviceGetDeviceDescriptor
WdfUsbTargetDeviceGetInterface
WdfUsbTargetDeviceGetNumInterfaces
WdfUsbTargetDeviceIsConnectedSynchronous
WdfUsbTargetDeviceQueryString
WdfUsbTargetDeviceResetPortSynchronously
WdfUsbTargetDeviceRetrieveConfigDescriptor
WdfUsbTargetDeviceRetrieveCurrentFrameNumber
WdfUsbTargetDeviceRetrieveInformation
WdfUsbTargetDeviceSelectConfig
WdfUsbTargetDeviceSendControlTransferSynchronously
WdfUsbTargetDeviceSendUrbSynchronously
WdfUsbTargetDeviceWdmGetConfigurationHandle
WdfUsbTargetPipeAbortSynchronously
WdfUsbTargetPipeConfigContinuousReader
WdfUsbTargetPipeFormatRequestForAbort
WdfUsbTargetPipeFormatRequestForRead
WdfUsbTargetPipeFormatRequestForReset
WdfUsbTargetPipeFormatRequestForUrb
WdfUsbTargetPipeFormatRequestForWrite
WdfUsbTargetPipeGetInformation
WdfUsbTargetPipeGetType
WdfUsbTargetPipeIsInEndpoint
WdfUsbTargetPipeIsOutEndpoint
WdfUsbTargetPipeReadSynchronously
WdfUsbTargetPipeResetSynchronously
WdfUsbTargetPipeSendUrbSynchronously
WdfUsbTargetPipeSetNoMaximumPacketSizeCheck
WdfUsbTargetPipeWdmGetPipeHandle
WdfUsbTargetPipeWriteSynchronously