overlapped io, buffers and errors

Do you have questions about writing plugins or scripts in Python? Meet the coders here.

overlapped io, buffers and errors

Postby Bartman » Sat Feb 06, 2010 5:06 pm

I want to improve the reading of HID data.
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



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.
Bartman
Plugin Developer
 
Posts: 881
Joined: Sun Feb 12, 2006 9:03 am

Return to Coding Corner

Who is online

Users browsing this forum: No registered users and 0 guests