I have a USB device which enumerates as "Miscellaneous/Common Class device"
Which is: Device class 239 (Miscellaneous), subclass 2 (Common Class), Protocol 1 (Interface Association)
I can match the device easily using IOServiceAddMatchingNotification and an approriate matching dictionary.
I would like to know if it's possible to access this device from user mode, without having to write a kernel driver?
When I call IOCreatePlugInInterfaceForService(usbDevice,kIOUSBDeviceUserClientTypeID, kIOCFPlugInInterfaceID, &plugInInterface, &score); it returns kIOReturnNoResources which I think means that there is no system-provided class driver. (right?)
So my question is, do I need to write a kernel driver for this device, or can I access it from user mode anyway?
(It works exactly like a HID device, I send it output reports and it sends me input reports).