Hi,
I would like to implement a mirroring. When the WRITE requests is sent to the mirror device, it builds some new Irps and forwards them to other devices.
Can I use IoBuildPartialMdl() in order to map an original Irp’s MDL to more than one new allocated Irp’s MDL for the same buffer?
Regards,
Dany
If you are using this API to split an MDL to smaller MDLs then yes you can
do it with caveats. You should ensure that the MDLs never get to the IO
manager (if you set it in Irp->MdlAddress then you should free it in the
completion routine and set the field to NULL). Otherwise the IO manager will
try to unlock the pages more than once.
–
Nar Ganapathy
Windows Core OS group
This posting is provided “AS IS” with no warranties, and confers no rights.
“Dany Polovets” wrote in message
news:xxxxx@ntdev…
Hi,
I would like to implement a mirroring. When the WRITE requests is sent to
the mirror device, it builds some new Irps and forwards them to other
devices.
Can I use IoBuildPartialMdl() in order to map an original Irp’s MDL to more
than one new allocated Irp’s MDL for the same buffer?
Regards,
Dany