RE: MmProbeAndLockPages

as i was saying in another thread of message, i was trying to intercept
paging writes. i allocated a pool of nonpaged mem, use ioallocatemdl to
allocate a mdl for the buffer, then used mmbuildmdlfornonpagedpool to build
the mdl. i copied the original buffer described by the original mdl into my
buffer, do something with it, change irp->mdladdress to that of my mdl, and
send it down. what i get is page fault when the floppy drive attempts to use
rtlmovememory…

once i changed to using mmprobeandlockpages instead of
mmbuildmdlfornonpagedpool, i don’t encounter the page fault anymore.

why is this so?

Ho Mun Chuen
Advanced Technology Solutions Centre
@@ “Not everything that counts can be counted;
<” )~ and not everything that can be counted counts"
//\ … Albert Einstein
----- Original Message -----
From: Tony Mason
To: File Systems Developers
Sent: Tuesday, June 13, 2000 6:52 PM
Subject: [ntfsd] RE: MmProbeAndLockPages

There is no reason to call MmProbeAndLockPages for non paged pool. Instead,
you should be using MmBuildMdlForNonPagedPool to construct the MDL.

“Probe” means to ensure the VA->PA translation is valid. “Lock” means to
ensure that the VA->PA translation remains the same. For non-paged pool
this is true by the very nature of non-paged pool. Thus, using
MmProbeAndLockPages doesn’t serve any useful purpose.

Regards,

Tony Mason
Consulting Partner
OSR Open Systems Resources, Inc.
http://www.osr.com

-----Original Message-----
From: dubi@il.ibm.com [mailto:dubi@il.ibm.com]
Sent: Tuesday, June 13, 2000 2:53 AM
To: File Systems Developers
Subject: [ntfsd] MmProbeAndLockPages

Hi there ,

Can & should MmProbeAndLockPages be used for NonPagedPool memory . In
which cases ?
If a nonPagePool memory is Locked as above should it be Unlocked by
MmUnlockPages in any case ?

thanks,

dubi


You are currently subscribed to ntfsd as: xxxxx@osr.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)


You are currently subscribed to ntfsd as: xxxxx@pmail.ntu.edu.sg
To unsubscribe send a blank email to $subst(‘Email.Unsub’)