The IOUSBDeviceInterface Class
IOUSBDeviceInterface class is a user-space class that provides equivalent functionality to the
IOUSBDevice class used by kernel drivers. It's worth noting that although the user client class provides similar functionality to its kernel counterpart, it implements it through a different set of methods. Therefore, a kernel USB driver written to work with the
IOUSBDevice class cannot simply be brought into a user-space USB driver.
After obtaining a reference to the user-space
IOUSBDeviceInterface, the first thing an application will need to do is to configure the USB hardware. The steps an application will take to do this will closely match those explained in Chapter 8 for a kernel driver. First, the application ...