UsbKmdfIrql rule (kmdf)

The UsbKmdfIrql rule specifies that a KMDF driver does not call USB-specific device driver interfaces (DDI) at the incorrect IRQL level.

Driver model: KMDF

How to test

At compile time

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