| Feature |
Description |
| General |
| Visual Studio like interface |
"Whidbey-style" docking panes & property grids
|
| Installation |
Streamlined installation using Windows Installer (MSI) Package;
requires reboot
|
| Uninstall |
Uninstall through Windows Control Panel; requires reboot
|
| Device Tree Tab View |
| Bus Topology View |
Shows host controllers, hubs and ports, and attached devices; selects
devices for logging; auto-refreshed |
| Device Object Stacks View |
Shows USB device-object stacks; selects stacks for logging; auto-refreshed |
| Driver View |
Shows drivers and associated device objects; selects drivers or device
objects for logging; auto-refreshed |
| Stack Inspector View |
| Stack Inspector View |
Displays device object stack for selection in any of the Device Tree tab
views. |
| Log View |
| Log Window |
Scrolled or non-scrolled window of captured log records |
| Log Row |
Real-time display of a captured time-stamped I/O request or event |
| Log Columns |
Add, remove, rearrange columns; save/restore column
layouts; auto-sizing of column width |
| Displayed Columns |
Type, Sequence, Request, I/O, Elapsed Time, DO,
Cfg:Ifc:Epa, IRP, IRP Status |
| Displayed Column |
ISO Err/ZLP: count of isochronous zero length and error packets
per URB |
| New Displayed Column |
CBW: for Mass Storage, Bulk-Only transport, Command Block
Wrapper tag value and operation code
(3.1)
|
| New Displayed Column |
CSW: for Mass Storage, Bulk-Only transport, Command Status
Wrapper tag value and status
(3.1)
|
| Continuation Log Rows |
To log large transfer buffers, up to 1 Megabyte per URB, multiple 64Kbyte
log records follow a starting record
|
| Property Grids |
| Log Details |
Displays particulars for a selected log row: including URB fields,
descriptors, setup packets, etc.
|
| New Log Details |
All fields of Command Block Wrappers (CBWs) and Command
Status Wrappers (CSWs); SCSI Command Descriptor Blocks (CDBs)
within CBWs (3.1)
|
| Device Properties |
Displays PnP Properties or descriptors for a selected node in the Device
Tree tab
|
| System Properties |
Displays system information for the current machine or the machine where the
log file was captured
|
| Data View |
| Data Bar Window |
Displays buffer contents for control, bulk, interrupt, and isochronous
transfers; displays raw byte stream for all descriptors |
| Search/Filter/Trigger |
| Searching and Filtering |
Searching and Filtering of a captured log by a combination of I/O request types,
status, and state |
| Filter and Trigger Definition |
Multi-tabbed interface to Filter/Trigger definition dialog |
| Context Help |
| Program Help |
Context sensitive help is provided through the context menu
for many program features. |
| Log View Record Help |
Context sensitive URB, USBINT, IHUB, MPORT Help in
log view using context menu on log records. |
| Request Type |
Version |
Description |
| IRP States |
| Initiated |
Log record created when IRP is being passed down the device
stack. |
| Dispatch Return |
Log record created when IRP dispatch routine returns (reveals
pending Irps) |
| Completed |
Log record created when IoCompleteRequest has been called on the
IRP. |
| IRP-Based Requests |
| URB |
Windows 2003 Server and newer |
All USB Request Blocks carried via
IOCTL_INTERNAL_USB_SUBMIT_URB |
| URB |
Vista and newer |
Added CONTROL_TRANSFER_EX, SET_PIPE_IO_POLICY,
GET_PIPE_IO_POLICY |
| URB |
Windows 2000 |
3 undocumented URBs |
| USB Internal Ioctls |
Windows 2003 Server and newer |
All kernel mode ioctls |
| USB Internal Ioctls |
Vista and newer |
8 additional kernel mode ioctls |
| Host Controller Ioctls |
Through Windows 7 |
All user-mode ioctls to the host controller driver |
| Hub Ioctls |
Through Windows 7 |
All user-mode ioctls to the hub driver, including two
new ioctls since Vista |
| HID Ioctls |
Through Windows 7 |
All user-mode ioctls to the HID class driver |
| Power |
Through Windows 7 |
All minor power Irps |
| PnP |
Through Windows 7 |
Start and Remove Irps |
| Function Call States |
| Initiated |
Log record created when function is being entered |
| Completed |
Log record created when function is returning |
| Function Interfaces |
| Hub-Bus Interface |
Version 5 (Windows 2003 Server) |
All interface functions |
| Hub-Bus Interface |
Version 6 (Windows Vista) |
15 new interface functions |
| Hub-Bus Interface |
Version 7 (Windows 7) |
6 new interface functions (3.2) |
| Miniport-Usbport Interface |
Version 2.0, Windows XP and Windows 2003 Server (x86 only) |
41 functions are logged |
| Miniport-Usbport Interface |
Version 3.0, Windows Vista (x86 only) |
11 new functions are logged |
| Miniport-Usbport Interface |
Version 3.1, Windows 7 (x86 only) |
2 new functions are logged (3.2) |
| Feature |
Description |
| Enabling Capture |
| Per device |
By selecting a node in USB Topology View of Device Tree Tab
View.
|
| Per device object or driver |
By selecting a device object or driver in Driver View of Device
Tree Tab View.
|
| Auto-enabled |
Auto-enable capture for newly arrived (hot-plugged) devices.
|
| Boot-enabled Capture |
Selected device objects can be enabled for capture at next
system boot.
|
| Hub-Bus Interface Capture |
Enabled by selecting the root-hub or parent root-hub to
which a device is attached. |
| Miniport-Usbport Interface Capture |
Enabled by selecting the host controller to which a device is
attached. |
| Filtering Capture |
| Defined Filters |
Filters can be applied during capture to reduce amount of
data collected. |
| Halting Capture |
| Defined Triggers |
A defined trigger can be used to stop capture. |
| Continous Capture |
| Continuous logging |
Buffer wrapping can be enabled to continuously log to a
fixed size buffer. |
| Background Capture |
| Background logging |
Suppress real-time display and show capture progress bar for
high throughput devices |
| Feature |
Description |
| Format |
| Binary file |
Logs can be saved to a binary file for later viewing
|
| Maximum File Size |
Maximum log file may be set in the range 1 to 100 Mbytes
|
| Common format |
Common log file format is used for x86 and x64
|
| Contents |
| Log Records |
All buffered log records are stored to the log file.
|
| Device Tree |
The USB device tree and device properties are stored to the log
file.
|
| System Properties |
Information (including date and time) about the system on which
the log file was collected is also stored.
|
| Configuration Options |
SourceUSB configuration options in use during the capture are
stored.
|
| Exports and Reports |
| XML Log Export |
All or range of log records exported as XML file
|
| XML Log Processing |
XML log processing examples using C++ parser
|
| XML Device Report |
Device report for items checked in Device Tree tab exported as
XML file
|
| HTML Device Report |
Device report for items checked in Device Tree tab exported as
HTML file
|
| Diagnostics |
| Analyzer Driver Diagnostics (3.2) |
Enabled/disabled via help menu; captured to .csv file
|
| Event Tracing for Windows (3.2) |
SourceUSB application is a registered event provider
|