How can I serve page fault requests asynchronously?

Lets say that I wrote a file system driver (WinNT). Now lets suppose that a
page fault occurs since a required page in memory was missing and that the
device driver that I wrote receives the read request (after the I/O Manager
directed the IRP to it).
My question:
How can I release the page fault exception WITHOUT bringing the required
page! and of course cause the system NOT to run this process until I get
the required page for it (and then somehow signal the system that the page
is valid and that the process can be resumed). What I mean is: how can I
serve page fault requests asynchronously?
If this question requires a long reply, then please point me to a page in a
book or a web link.

Many thanks, Alon.

> How can I release the page fault exception WITHOUT bringing the required

page!

Just complete the paging IO IRP without the real data.

is valid and that the process can be resumed). What I mean is: how can I
serve page fault requests asynchronously?

Very strange idea. The execution of the thread mandates that the requried
page will be brought in. How can you continue the thread’s instruction flow
without having the necessary page referenced by the next instruction
mapped?
The only thing you can do is to suspend a thread till a page fault
resolution
will be possible. The easiest and possibly best way of doing this is to pend
the paging IRP & returning STATUS_PENDING from your DispatchRead.
Complete the IRP than to awaken a thread.

Max