Expand Minimize

Bug Check 0x144: BUGCODE_USB3_DRIVER

The BUGCODE_USB3_DRIVER bug check has a value of 0x00000144. This is the code used for all USB 3 bug checks. Parameter 1 specifies the type of the USB 3 bug check, and the meanings of the other parameters are dependent on Parameter 1.

Important Info If You Have Received a STOP Code

bsod

If you received a blue screen error, or stop code, the computer has shut down abruptly to protect itself from data loss.

For information about how to recover from this error, see Resolving Blue Screen errors in Windows.

BUGCODE_USB3_DRIVER Parameters

The following parameters are displayed on the blue screen.

Parameter 1Parameter 2Parameter 3Parameter 4Cause of error

0x1

Optional. Pointer to the IRP used to resend the URB

Pointer to the URB

Pointer to the client driver's device object

A client driver used an URB that it had previously sent to the core stack.

0x2

Pointer to the physical device object (PDO) for the boot device

Reserved

Reserved

A boot or paging device failed re-enumeration.

0x3

Optional. Pointer to the IRP used to send the URB

Pointer to the corrupted URB

Pointer to the client driver's device object

A client driver sent a corrupted URB to the core stack. This can happen because the client driver did not allocate the URB using USBD_xxxUrbAllocate or because the client driver did a buffer underrun for the URB.

0x800

IRQL at which the Open Static Streams request was sent

Pointer to the Open Static Streams IRP

Pointer to the client driver's device object

An Open Static Streams request was sent at IRQL > PASSIVE LEVEL.

0x801

Pointer to the Open Static Streams IRP

Pointer to the Open Static Streams URB

Pointer to the client driver's device object

A client driver attempted to open static streams before querying for streams capability. A client driver cannot open a static stream until after it successfully queries for the streams capability. For more information, see Remarks.

0x802

Number of static streams that the client driver tried to open

Number of static streams that were granted to the client driver

Pointer to the client driver's device object

A Client driver tried to open an invalid number of static streams. The number of streams cannot be 0 and cannot be greater than the value returned to the client driver in the query USB capability call.

0x803

Pointer to the Open Static Streams IRP

Pointer to the Open Static Streams URB

Pointer to the client driver's device object

A client driver attempted to open static streams for an endpoint that already had static streams open. Before opening static streams, the client driver must close the previously opened static streams.

0x804

The leaked handle context. Run !usbanalyze -v to get information about the leaked handle and URBs. You must enable Driver Verifier for the client driver.

Device object passed to USBD_CreateHandle.

Reserved

A client driver forgot to close a handle it created earlier using USBD_CreateHandle or forgot to free an URB it allocated.

0x805

WDFREQUEST handle for the Close Static Streams URB

Pointer to the Close Static Streams URB

Pointer to the client driver's device object

A client driver sent a Close Static Streams URB in an invalid state (for example, after processing D0 Exit).

0x806

Pointer to the IRP

Pointer to the URB

Pointer to the client driver's device object

A client driver attempted to send a chained MDL before querying for chained MDL capability. A client driver cannot send a chained MDL until after it successfully queries for the chained MDL capability. For more information, see Remarks.

0x807

Pointer to the chained MDL

Pointer to the URB

Pointer to the client driver's device object if available

A client driver sent an URB to the core stack with a transfer buffer length longer than the byte count (returned by MmGetMdlByteCount) of the MDL passed in. For more information, see Remarks.

 

Remarks

To query for a USB capability, the client driver must call WdfUsbTargetDeviceQueryUsbCapability or USBD_QueryUsbCapability

To send a chained MDL, the client driver must call USBD_QueryUsbCapability and use URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER_USING_CHAINED_MDL or URB_FUNCTION_ISOCH_TRANSFER_USING_CHAINED_MDL.

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft