Previous Page
www.bustrace.com

This web page refers to our older busTRACE 6.0 which is no longer shipping. Click here for details on our latest busTRACE version.

When an I/O request is sent to a device, an underlying data structure is used to initiate the request. For storage devices, this might be a SCSI_PASS_THROUGH or SCSI_REQUEST_BLOCK structure. For USB devices, this might be URB (USB Request Block).

busTRACE 6.0 captures these data structures both going down the I/O stack as well as back up the I/O stack. Although not normally needed during bus analysis, this information can prove invaluable to the software developer that wants to see these structures to ensure that they are set and returned properly.

In this sample screenshot, busTRACE 6.0 has captured a SCSI_REQUEST_BLOCK. Notice how you can click on the "I/O Down" or "I/O Up" toolbar buttons to switch between viewing the decoded SRB both as it goes down and back up the I/O stack. Where appropriate, the hex values are decoded for you for easier readability. In this sample, the SRB Function of 00h is automatically decoded for you as an SRB_FUNCTION_EXECUTE_SCSI. The SrbStatus is in SRB_STATUS_PENDING state.

The Windows WDK / DDK fully documents the usage and format of these structures.