please explain

Hi ,
i am new to the device driver world
i am unable to understand the following code.

inBuf = Irp->AssociatedIrp.SystemBuffer;
outBuf = Irp->AssociatedIrp.SystemBuffer;

how can inbuf and outbuf point to the same addr.

thanks.


Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

The same area is used, as you see. The intent is that one’s driver code
uses the input data thoroughly and that then the driver uses the same
area for output. If perchance the driver requires the input to continue
to be intact whilst the driver is building the outout, it’s up to the
driver to copy the input to somewhere – a work area, for example – in
order to be able to use the input data whilst building the output data
in the input/output buffer area. And, remember, the data are themselves
just a copy of whatever was specified in the I/O request (there’s an
exception in which the buffer is the original buffer, but I don’t think
it applies when one is using this particular pointer, and in any case
it’s the driver’s responsibility to know how to deal with the input data
wherever they’re located).


James Antognini
IBM Watson Research


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com