2011-10-18 39 views
0

我們試圖與USB HIDDevice進行通信。此設備在Windows中工作正常,我們可以發送報告並使用WriteFile()ReadFile()獲取報告。USBHIDManager HID,getReport()和setReport()在Mac環境下

在Mac上,我們嘗試使用setReoprt()getReport()與設備進行連接。但是getReport()沒有返回任何數據,但是有錯誤。

應用程序中有什麼問題?

+0

您可以編輯您的問題,並張貼您所使用的代碼和錯誤消息(S)? – 2011-10-18 23:44:22

+0

GetReport()沒有錯誤消息,也沒有有效的數據。謝謝 –

回答

0

爲了使用異步行爲,必須將使用getAsyncEventSource獲得的事件源添加到運行循環中。

上面的註釋是setReport註釋的一部分。 U可能需要先學習Mac OS中Runloop的runloop機制。

因爲這裏不可能解釋這個機制。以下功能和訂單可能會幫助ü編碼當u熟悉RunLoop(嘗試在谷歌搜索「CFRunLoop」)

CFRunLoopGetCurrent()。
CFRunLoopRun();
CFRunLoopAddSource(CFRunLoopRef rl,CFRunLoopSourceRef source,CFStringRef mode);
CFRunLoopStop(CFRunLoopRef RL);(我通常調用回調方法此功能)

+0

謝謝。 Mydevice描述是http://stackoverflow.com/questions/7834101/no-kernel-file-specified-error-on-kext-mac-environment。這是HID設備(HID管理器概念),所以我嘗試檢索數據使用getReport,我的程序工作正常的鍵盤和鼠標,所以我的疑問是:1)如何發送interrept結束poing 2)如果我發送中斷終點我可以得到數據,(我的東西我的runloope工作正常), –

+0

http://stackoverflow.com/questions/7727363/iohiddevicegetreportwithcallback-function-do-not-work-in-my-cocoa-application –