Hi All,
I have written a volume filter driver. I am porting this driver to
Windows XP 64-bit platform.I am facing a problem while memory mapping a
file in a current process address space. The same code works on 32 bit
platform. The ZwMapViewOfsection always returns the status cose
STATUS_NO_MEMORY. When I mmap the same file in system process’ address space
it succeeds. The code segment is as follows:
Status = ZwMapViewOfSection(journalFile->FileWriteInfo.sectionHandle,
NtCurrentProcess(),
&journalFile->
FileWriteInfo.mmapBaseAddress,
0,
PAGE_SIZE,
NULL,
(PSIZE_T)&viewSize,
ViewUnmap,
MEM_RESERVE,
PAGE_READWRITE);
Can anybody tell me why this works with 32 bit platform and not 64-bit. Also
why the mmap is successful in system process’ address space and not
userprocess. I am testing the code on Win XP 64-bit AMD SMP machine.
Thanks,
Giri.