Is there a way to determine whether a given memory address is nonpaged or paged? I have a recurring need to take a pointer that has been handed to me and determine whether it is pageable.
On a similar note, does anyone know the technical difference between non-pageable memory and pageable memory that has been locked? I read an old post that said that locked memory can still cause page faults, because the pageable virtual address may refer to page tables that are pageable. I have been unable to find documentation that confirms that some page tables are nonpageable and others are pageable, although it makes sense that UM page tables have no need to be locked in memory.