0

我们正在尝试与 USB HIDDevice 通信。WriteFile()该设备在 Windows 中运行良好,我们可以使用和发送报告并返回报告ReadFile()

在 Mac 上,我们正在尝试使用setReoprt()和与设备交互getReport()。但是getReport()没有返回任何数据,而是一个错误。

申请中有什么问题?

4

1 回答 1

0

为了利用异步行为,必须将使用 getAsyncEventSource 获取的事件源添加到运行循环中。

上面的注释是setReport的注释的一部分。你可能需要先学习Mac OS中Runloop的runloop机制。

因为这里不可能解释机制。当您熟悉RunLoop时,以下功能和命令可能会帮助您编码。(尝试在 google 中搜索“CFRunLoop”)

CFRunLoopGetCurrent();
CFRunLoopRun();
CFRunLoopAddSource(CFRunLoopRef rl, CFRunLoopSourceRef 源, CFStringRef 模式);
CFRunLoopStop(CFRunLoopRef rl);(我一般在回调方法中调用这个函数)

于 2011-10-26T16:43:57.713 回答