| Auxiliary | Represents additional auxiliary descriptors. |
| BaseDescriptor | The base USB descriptor. |
| BaseDevice | A USB device that the program uses: Keyboard, Mouse, Joystick, HidDevice, Printer or RawDevice, opened with the DeviceName that its UsbHostController event gives. Its events come on the device's own thread. When the device is unplugged, Disconnected is raised. A device stays alive until it is disposed. |
| Configuration | Configuration descriptor. |
| Device | Device descriptor. |
| Endpoint | Endpoint descriptor. |
| HidDevice | A HID device that is no keyboard, mouse or joystick (a sensor, a USB I/O board, a UPS...): its reports, as hidapi gives them. |
| Interface | Interface descriptor. |
| Joystick | Allows a usb device to be used as a joystick. |
| Keyboard | Allows a usb device to be used as a keyboard. |
| Mouse | Allows a usb device to be used a mouse. |
| Printer | A USB printer: the bytes it understands (ESC/POS for receipt printers, ZPL or EPL for label printers, PCL or PostScript for office printers) go to it as they are. |
| RawDevice | Provides low level access functionalities for the connected USB device. This is useful if there is not already a predefined driver for that device. |
| UsbDeviceConnectionEventArgs | Event data for UsbHostController.ConnectionChanged: one USB device attached or detached. |
| UsbHostController | The USB devices plugged into the board, directly or through hubs. One event for each thing a device gives: a keyboard with a touchpad gives Keyboard and Mouse, a webcam gives Webcam and Audio (its microphone). DeviceName is what to open it with (see UsbHost.DeviceType). The events come on the library's USB thread. USB drives come as MassStorage: use StorageController (GHIElectronics.Endpoint.Devices.Storage) for them. A controller stays alive until it is disposed. |