How to use MmPrefetch Usage in MiniFilter driver?

I wanted to prefetch file data using MmPreftech pages on certain conditions? But A Call to MmPrefetchPages always results into exception at minifilter “miniSpy - The sample code” driver.

Is there something I need to take care before calling this function.


  1. I get read file for first block.
  2. I prepare readlist for next five blocks and pass it on MmPrefetchPages.

Exception at MmPrefetchPages:
An exception happened while executing a system service routine.
Arg1: 00000000c0000005, Exception code that caused the bugcheck
Arg2: fffff800036e893f, Address of the instruction which caused the bugcheck
Arg3: fffff88005f9b950, Address of the context record for the exception that caused the bugcheck
Arg4: 0000000000000000, zero.

Thanks in advance,

Can you analyze the context record of the exception and callstack? It would
tell you more than four bugcheck arguments. Are you sure your read list is
allocated and initialized correctly? You can copy&paste readlist alloc+init
code and -analyze -v output here.