How to read from an EvtIoRead buffer?
Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance
When an application issues a read() request to my driver, the framework
creates a single intermediate buffer that my driver fills. The framework
then copies the output data from the intermediate buffer to the application's
output buffer.
How can I read from this intermediate buffer?
I would like the application to pass the following buffer to my driver:
| address | buffer |
If I could read the address portion out of the buffer, fetch data from that
particular address in HW, and fill the buffer within the buffer with that
data I'd be golden. However, as it is, I can't do a
WdfRequestRetrieveInputBuffer() from within my EvtRead() routine.
How else can I do this without creating a seperate IOCTL that just keeps
track of the next address to read from?
Thanks!!!!
.
Relevant Pages
- Re: Using MMX/XMM registers and ops in x64 kernel mode thread
... Clients of my driver are user level processes. ... Let's say I have a packed data within my driver buffer I just received ... intermediate memory buffer and copy them to clients upon request. ... (microsoft.public.development.device.drivers) - Re: Difference between synchronous and asynchronous operation/calls (NDISPROT)
... In synchronous mode it seems the driver uses it's own buffers and it only ... Driver uses it's own single buffer and receives data into the buffer. ... The copy is ofcourse bad because copieing costs cpu time. ... Maybe because it issued it's own i/o completion request which is associated ... (microsoft.public.development.device.drivers) - Re: Real World Significant Sources of (what we usually call) Latency
... CPU is twice as fast, you can reduce your buffer size to half." ... the buffer adjustment for the driver or DAW program would go down to zero. ... nothing that can distract it from processing audio. ... (rec.audio.pro) - Re: Difference between synchronous and asynchronous operation/calls (NDISPROT)
... The main problem with synchronous operation/calls seems to be the lack of buffers for the driver to store data into. ... Each "read call" supplies the driver with a buffer and optionally a completion routine so that the driver can inform the application when the requested operation is/was done. ... However it seems the current windows/driver design does some copies as well? ... (microsoft.public.development.device.drivers) - Re: Degradation of TCP connection
... Gigabit ethernet. ... D card's data buffer can only hold about 64K samples worth of data ... link you posted is for an older version of VxWorks that used a BSD- ... but a bug in the ethernet driver. ... (comp.os.vxworks) |
|