overlapped io, buffers and errors
Posted: Sat Feb 06, 2010 5:06 pm
I want to improve the reading of HID data.
Currently I have this code
The control always flows in the rc == 997 condition. When data arrives, the events gets set and i can process the data in buf. When the device gets disconnected the event also gets set and my data processing algorithms runs on invalid data. I only get the error in the next loop, when I call ReadFile again.
Currently I have this code
Code: Select all
try:
win32event.ResetEvent(self._overlappedRead.hEvent)
rc, buf = win32file.ReadFile(handle, n, self._overlappedRead)
if rc == 997: #error_io_pending
#waiting for an event
win32event.WaitForSingleObject(
self._overlappedRead.hEvent,
win32event.INFINITE)
except:
self.abort = True