Во-первых, откуда у тебя там #PF, если Memory выделяется из NP-пула, покажи дамп.
Во-вторых, MmMapLockedPagesSpecifyCache() нужно делать в контексте целевого процесса.
В-третьих, в драйвере обращаться надо, разумеется, по адресу, полученному от ExAllocatePool().
AC>Задача банальна — разделить память между приложением и драйвером,организовав в ней что-то на подобии очереди объектов...
А уверен, что именно разделяемая память тебе тут лучше всего подойдёт?
Может, тупо складировать информацию в буфер и затем выгребать её периодически?
А если надо сразу данные передавать, тогда есть inverted calls, — с буферами возиться не придётся.