使用 IOKit IOHIDDeviceSetReportWithCallback 写入 USB HID 设备

问题描述 投票:0回答:2

我正在尝试使用 IOKit 中的 IOHIDManager 与 USB HID 设备进行异步通信。我可以使用

IOHIDDeviceRegisterInputReportCallback
注册回调并使用
IOHIDDeviceSetReport
设置报告。但当我尝试使用
IOHIDDeviceSetReportWithCallback
与设备通信时,却失败了。

错误为 kIOReturnUnsupported (0xE00002C7)。

这里是苹果 USB 邮件列表中一位有相同问题的绅士的链接。

http://lists.apple.com/archives/usb/2009/Oct/msg00004.html

macos asynchronous usb hid iokit
2个回答
3
投票

我不想认为对上述消息的响应是正确的,但我可以确认,这个方法没有实现。以下是苹果开发者技术支持的部分回复:

查看源代码 IOHIDDeviceSetReportWithCallback 只是调用 (*设备->设备接口)->setReport;理论上应该是 IOKIT HID 驱动程序...看着它刚刚返回 kIO返回不支持...


0
投票

该方法似乎在最新的 MacOS 版本上可以正常工作。我发现 Paul Stoffregen 的一段代码旨在暴露该错误,并且它在 MacOS Sonoma 14.0 上可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.