Andrew Sha...... wrote: > > "All methods that are members of real-time interfaces must be > implemented as non-blocking. They should not block, use paged memory, > or call any blocking system routines. Note that most system routines > are blocking" > > This is most probably means that any kind of WaitXXX function should > NOT be called explicitly or implicitly; so DeviceIoControl should be > fine to use providing that a called driver completes a request > synchronously > > Do I miss / misinterpret something? You can only call a Wait function if you specify a timeout of 0, which means it checks and returns immediately telling you whether the event has completed. If you need to call DeviceIoControl, you should use overlapped I/O so that you can continue processing and handle the results later. On the other hand, if you need to process the data and the processing is going to take time, what alternative do you have? ;) -- Tim Roberts, timr@xxxxxxxxx Providenza & Boekelheide, Inc.