Domanda

Stiamo cercando di comunicare con un HIDDevice USB. Questo dispositivo sta funzionando benissimo in finestre, in cui siamo in grado di inviare un report e ottenere un back report utilizzando WriteFile() e ReadFile().

Su Mac, stiamo cercando di interfacciarsi con il dispositivo utilizzando setReoprt() e getReport(). Ma getReport() non restituisce alcun dato, ma un errore.

Qual è il male nella domanda?

È stato utile?

Soluzione

Per fare uso di comportamento asincrono, l'origine evento ottenuto utilizzando getAsyncEventSource va aggiunto a un ciclo di esecuzione.

La nota di cui sopra è parte del commento di setReport. U potrebbe aver bisogno di imparare il meccanismo runloop di runloop in Mac OS prima.

Dal momento che è impossibile spiegare il meccanismo qui. Le seguenti funzioni e gli ordini potrebbero aiutare u codifica quando la u ottiene familiarità con runloop . (Prova per la ricerca "CFRunLoop" in google)

CFRunLoopGetCurrent ();
CFRunLoopRun ();
CFRunLoopAddSource (CFRunLoopRef rl, fonte CFRunLoopSourceRef, modalità CFStringRef);
CFRunLoopStop (CFRunLoopRef rl); (i soliti chiamare questa funzione nel metodo di callback)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top