Hi all,
in my driver I receive IRPs from the user mode.
The IRPs are using DIRECT_IO method (regular reads and writes).
I need to access the buffer, described by Irp->MdlAddress and to copy
some of the buffer’s data onto my local buffer allocated in the driver.
For that purpose I use the MmGetSystemAddressForMdlSafe function on
Irp->MdlAddress.
It worked OK for a long time.
But recently I started to receive bursts of events, in which this
function returned NULL.
I.e., it failed to map the pages to the kernel process space.
Is there any other reason for this function to fail, besides the lack of
resources (e.g., IRQL issues) ?
Is there any other way to copy the data from the buffer described by
Irp->MdlAddress?
I am sure that I call this function at PASSIVE_LEVEL (although I will
double-check it).
Thanks for all your time,
Alex.
************************************************************************************
This footnote confirms that this email message has been scanned by
PineApp Mail-SeCure for the presence of malicious code, vandals & computer viruses.
************************************************************************************