Hi guys, over the past weeks I finally had some time again to work on my virtual Midi driver, and I now came to a point at which the driver is working and I'm now thinking about a proper implementation. As a virtual driver has no associated piece of hardware, it can't make use of interrupts to send / receive or process data. That's why I currently have implemented this way: 1. normal midi data coming in through the ports are handled by the according routines 2. communication to user-mode software is done using device property requests, as I found no other way to open up a "stream" or equivalent to a user-mode application 3. the data processing routines are called via a DPC Callback Timer and at the end of the processing function, the wakeup request is again set to a x ms time. I wonder if this is the proper way to handle this situation of virtual drivers, or if this might have a big negative impact on the system performance. Regards,