USB Initialization Calls
The client uses these calls to attach to the USB subsystem and, optionally, to claim a particular interface.
| To . . . | Use this system call . . . |
|---|---|
| Wait for the USB stack to become available. | UsbSynchronize |
| Find USB devices attached to the bus. | UsbFindFirstDevice, UsbFindNextDevice |
| Find a matching entry in a table of device descriptions. | UsbMatchId |
| Get a description of available USB devices. | UsbGetDeviceDesriptions |
| Wait for attach and detach events. | UsbWaitForEvent |
| Wait for attach and detach events and call a function. | UsbEventsWithCallback |
| Claim a device and obtain a handle | UsbOpenDevice |
| Close a device and release the handle | UsbCloseDevice |
USB Transfer Calls
These calls simplify standard control functions by avoiding having to allocate, fill, and submit a control URB in each case. They perform the standard set of USB control functions.
| To . . . | Use this system call . . . |
|---|---|
| Create a control transfer and synchronously submit it, returning upon completion or time out | UsbControlXfer |
| Create a bulk transfer and submit it synchronously, returning from the call upon completion or time out | UsbBulkXfer |
| Create an interrupt transfer and submit it synchronously, returning from the call upon completion or time out | UsbInterruptXfer |
| Create a bulk transfer and submit it asynchronously | UsbBulkXferAsync |
| Create an interrupt transfer and submit it asynchronously | UsbInterruptXferAsync |
| Cancel operations outstanding on a pipe | UsbCancelXfer |
| Clear a stall condition on an endpoint | UsbClearStall |
| Get the current status of an endpoint | UsbGetEndpointStatus |
| Get the current status of a device | UsbGetDeviceStatus |
USB Configuration Calls
| To . . . | Use this system call . . . |
|---|---|
| Return the descriptor of given type and index | UsbGetDescriptor |
| Return the device descriptor for a given handle | UsbGetDeviceDescriptor |
| Return the interface descriptor for a given handle | UsbGetInterfaceDescriptor |
| Return the endpoint descriptor for the given interface handle and endpoint index | UsbGetEndpointDescriptor |
| Return the number of endpoints for a given interface | UsbGetEndpointCount |
| Return a configuration descriptor given a device handle | UsbGetConfigDescriptor |
| Get the current configuration number of a given device | UsbGetConfiguration |
| Create a control transfer and synchronously submit it, returning from the call when it completes or times out. | UsbSetConfiguration |
| Set an alternative setting number of a given interface | UsbSetAltInterface |
| Get the alternative setting number of a given interface | UsbGetAltInterface |
| Get a string descriptor in UTF-16LE format | UsbGetLanguageString |
| Get a string descriptor in ASCII format and US/English language ID | UsbGetAsciiString |
Misc USB Calls
| To . . . | Use this system call . . . |
|---|---|
| Get a strng from USB error code | UsbGetErrorString |