PMDL pmdl = IoAllocateMdl(lpParameter, dwCodesize, FALSE, FALSE, NULL);
if
(pmdl)
{
kprintf(
"IoAllocateMdl STATUS_SUCCESS\n"
);
__try
{
MmProbeAndLockPages(pmdl, UserMode, IoReadAccess);
PVOID
psafebuf = MmGetSystemAddressForMdlSafe(pmdl, NormalPagePriority);
if
(psafebuf)
{
kprintf(
"[+]MmGetSystemAddressForMdlSafe STATUS_SUCCESS\n"
);
.....
}
else
{
kprintf(
"[+]MmGetSystemAddressForMdlSafe STATUS_UNSUCCESS:\n"
);
}
MmUnlockPages(pmdl);
IoFreeMdl(pmdl);
}
__except (EXCEPTION_EXECUTE_HANDLER)
{
kprintf(
"[+]MmProbeAndLockPages:%X\n"
,GetExceptionCode());
I IoFreeMdl(pmdl);
}
}