bool USBHostDeviceSpecificClientDriver( uint8_t deviceAddress );
This function indicates if the specified device has explicit client driver support specified in the TPL. It is used in client drivers' USB_CLIENT_INIT routines to indicate that the client driver should be used even though the class, subclass, and protocol values may not match those normally required by the class. For example, some printing devices do not fulfill all of the requirements of the printer class, so their class, subclass, and protocol fields indicate a custom driver rather than the printer class. But the printer class driver can still be used, with minor limitations.
None
Return Values |
Description |
true |
This device is listed in the TPL by VID andPID, and has explicit client driver support. |
false |
This device is not listed in the TPL by VID and PID. |
This function is used so client drivers can allow certain devices to enumerate. For example, some printer devices indicate a custom class rather than the printer class, even though the device has only minor limitations from the full printer class. The printer client driver will fail to initialize the device if it does not indicate printer class support in its interface descriptor. The printer client driver could allow any device with an interface that matches the printer class endpoint configuration, but both printer and mass storage devices utilize one bulk IN and one bulk OUT endpoint. So a mass storage device would be erroneously initialized as a printer device. This function allows a client driver to know that the client driver support was specified explicitly in the TPL, so for this particular device only, the class, subclass, and protocol fields can be safely ignored.
MLA - USB Library Help Version : 2.16
![]() |