I am trying to communicate asynchronously with a USB HID Device using the IOHIDManager from IOKit. I have no problem registering for a callback with IOHIDDeviceRegisterInputReportCallback
and setting reports with IOHIDDeviceSetReport
. But when I try and use IOHIDDeviceSetReportWithCallback
to communicate with the device it's a no go.
Error is kIOReturnUnsupported (0xE00002C7).
Here is a link to a gentleman with the same issue from the apple usb mailing list.
I didn't want to think that this response to the above message was correct, but I can confirm that, this method is not implemented. Here is part of the response from Apple Developer Technical Support:
Looking thru the sources IOHIDDeviceSetReportWithCallback just calls (*device->deviceInterface)->setReport; in theory that should be the IOKIT HID driver… looking at that it just returns kIOReturnUnsupported…