non-paged memory under windows

Peter Gutmann pgut001 at
Wed Apr 7 15:33:22 CEST 2004

John Checco <checco at> writes:

>just to re-iterate your point, I've worked on a project that needed non-paged
>memory to pass to a frame-grabber pci board... We found out the hard way that
>none of the retail functions ever guaranteed memory was not paged -- we ended
>up creating our own memory device driver, including creation of SGLs and IRPs
>and using ExAllocatePool... needless to say, true non-paged access is really
>difficult to implement under Windows.

Hmm, just to confirm this, you're saying that neither VirtualLock() nor AWE
guarantee that pages remain resident at all times?  Do you have more info on
the conditions under which (supposedly) locked pages can become non-resident?
The two main sources that have said that VirtualLock() doesn't work have been
working at the device-driver level, I wonder if this is something that isn't
visible to apps but is visible to developers working at a lower level?

(If you don't mind discussing the details with someone from MS, let me know,
 it'd be good to get this tracked down and fixed.  The biggest hurdle so far
 has been replicating the problem to demonstrate that it really exists).


More information about the Gnupg-devel mailing list