IoCallDriver

Hi,

I am working on USB data Acqsition device.The
Requirement are as follows(Iam using Isochronous pipes):

I have to grab data at the rate of 2.2Mega Samples ,
1 Sample = 16 Bits = 544 Bytes every 125 microseconds

How do I approch this problem.

I am Currently using the following Logic while receiveing Data

1.Prepare IRP
2.Set Completion Routine
3.Call IoCallDriver
4.In the Completion routine - recycle Irp then Call Io Calldriver

I noticed another Issue.On a 3Ghz Machine
when I do IOCallDriver.It takes around 80000 Cycles.
If this is the case then my requirement of grabbing data at 125
microseconds is lost.
How do I tackle this problem

Regards,
Manohar