Hello,
we’re thinking of using a continous reader in a KMDF-based driver for a USB 2.0 device. We have to process data read from the device in exact the order as they’ve been generated by the device.
To achieve high data throughput we think of using several pending read requests.
When configuring the continuous reader to use the default number of pending reads (numPendingReads = 0) or to use a “well-defined” value > 1, is the completion routine called in exact the order as the device delivers the data?
Thank you very much for your help!
regards
Olav
There is no guarantee of ordering, this is an artifact of WDM. If you need ordering, put a counter or frame number in the data returned to the host and do the reordering in your driver if they are completed out of order.
d
dent from a phpne with no keynoard
-----Original Message-----
From: xxxxx@gmx.de
Sent: October 11, 2010 7:16 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] KMDF / USB: order of completion routines of continuous reader
Hello Doron,
thank you very much for your reply!
In the affected project it’s not possible for us to add a frame counter number or anything similar to the data stream. Therefore we plan to port a mechanism which cares for handling the IRP / URB buffer in the correct order from an existing WDM-based driver to KMDF.
best regards
Olav