0

USBHIDDeviceと通信しようとしています。このデバイスはWindowsで正常に動作しており、とを使用してレポートを送信したり、レポートを取り戻したりできWriteFile()ますReadFile()

setReoprt()Macでは、とを使用してデバイスとのインターフェイスを試みていますgetReport()。ただしgetReport()、データは返されませんが、エラーが返されます。

アプリケーションの何が問題になっていますか?

4

1 に答える 1

0

非同期動作を利用するには、getAsyncEventSourceを使用して取得したイベントソースを実行ループに追加する必要があります。

上記の注記は、setReportのコメントの一部です。Uは最初にMacOSでのRunloopのrunloopメカニズムを学ぶ必要があるかもしれません。

ここでメカニズムを説明することは不可能なので。次の関数と順序は、 RunLoopに慣れたときにコーディングに役立つ場合があります(Googleで「CFRunLoop」を検索してみてください)。

CFRunLoopGetCurrent();
CFRunLoopRun();
CFRunLoopAddSource(CFRunLoopRef rl、CFRunLoopSourceRef source、CFStringRefモード);
CFRunLoopStop(CFRunLoopRef rl);(私は通常、コールバックメソッドでこの関数を呼び出します)

于 2011-10-26T16:43:57.713 に答える