RequestForUrbXrb rule (kmdf)
If the client driver calls WdfUsbTargetDeviceCreateWithParameters and specifies the client contract version USBD_CLIENT_CONTRACT_VERSION_602 in the WDF_USB_DEVICE_CREATE_CONFIG structure (to use the new capabilities of the USB driver stack for Windows 8), DDIs that use a URB internally would only use URB context if any of the following preconditions apply:
- Request parameter has the Wdf device in its parent object tree.
- Request is represented via the I/O queue.
- Request has another I/O queue represented request in its parent object tree.
How to test
|At compile time|
Run Static Driver Verifier and specify the RequestForUrbXrb rule.Use the following steps to run an analysis of your code:
For more information, see Using Static Driver Verifier to Find Defects in Drivers.
WdfRequestCreate WdfUsbTargetDeviceCreateWithParameters WdfUsbTargetDeviceFormatRequestForControlTransfer WdfUsbTargetDeviceFormatRequestForString WdfUsbTargetDeviceSendControlTransferSynchronously WdfUsbTargetPipeAbortSynchronously WdfUsbTargetPipeFormatRequestForAbort WdfUsbTargetPipeFormatRequestForReset WdfUsbTargetPipeResetSynchronously