The Isousb driver

This section describes the driver routines that allow a user-mode application to perform isoch reads and writes or stream transfers. The isoch read/write is performed by opening a handle to the device and using the standard Win32 Read/Write command. The stream transfer is a continuous streaming of isoch IN data which can be explicitly initiated/stopped using the driver-supported IOCTLs from the user application.

Isousb Reads/Writes and Stream Transfers

Requests Dispatch Routines
IRP_MJ_CREATE IsoUsb_DispatchCreate()
IRP_MJ_CLOSE IsoUsb_DispatchClose()
IRP_MJ_READ IsoUsb_DispatchReadWrite()
IRP_MJ_WRITE IsoUsb_DispatchReadWrite()
IOCTL_ISOUSB_START_ISO_STREAM IsoUsb_StartIsoStream()
IOCTL_ISOUSB_STOP_ISO_STREAM IsoUsb_StopIsoStream()

Notes

Stream Transfers

Isoch Reads/Writes

High Speed Isoch Reads/Writes

Known Bugs

RwIso.exe

RwIso.exe is a console application used to initiate isochronous transfer and obtain a dump of information on the device's I/O endpoints. The application also demonstrates how to use GUID-based device names and pipe names generated by the operating system using the SetupDiXXX user-mode APIs.