阅读:1192回复:0
mdl我不太理解,怎么才能把驱动里read(write)的内存和应用程序对应起来呢?
用walter oney书里的方法:
ULONG length = MmGetMdlByteCount(Irp->MdlAddress) ; ULONG_PTR va = (ULONG_PTR) MmGetMdlVirtualAddress(Irp->MdlAddress); PMDL mdl = IoAllocateMdl((PVOID) va, PAGE_SIZE, FALSE, FALSE, NULL); IoBuildPartialMdl(Irp->MdlAddress, mdl, (PVOID) va, seglen); 最后一句是映射mdl,是什么意思呢?不太明白! |
|