ReadFromBlockPipeOut issues

Hi Forum,

I need to read data at a rate of 4 MB per second in small chunks, about every 8 milliseconds. I repeatedly call ReadFromBlockPipeOut, with a blockSize of 1024 and a length of 28672. However, eventually the function times out and I don’t get useable data anymore. I can usually get data for a few seconds. I know this partly has to do with the real-time nature of Windows. What can I do to fix the problem? Is there a way to call ReadFromBlockPipeOut and not have it wait until it’s done reading? (i.e. a callback or something similar to tell me when it’s done, or another function that returns immediately?) I also need to process the data in real time and if it waits while it’s reading I’m not sure that’ll be possible.

Thank you for any help.