阅读:2784回复:2
如何在内核中申请一块非分页内存,然后搞成为应用程序可以访问的地址?
如何在内核中申请一块非分页内存,然后搞成为应用程序可以访问的地址?
SystemVirtualAddress = ExAllocatePool(NonPagedPool, 2048*1000); Mdl = IoAllocateMdl(SystemVirtualAddress, 2048*1000, FALSE, FALSE, NULL); MmBuildMdlForNonPagedPool(Mdl); memset(SystemVirtualAddress, 0, sizeof(变量)); memcpy(SystemVirtualAddress, (char *)&变量, sizeof(变量)); UserVirtualAddress = MmMapLockedPages(Mdl, UserMode); *((PVOID *)pIoBuffer) = UserVirtualAddress; pIrp->IoStatus.Status = STATUS_SUCCESS; pIrp->IoStatus.Information = sizeof(PVOID); 大概的代码如上,但红色那部分提示错误。 正确代码应该怎么写? 谢谢。 |
|
沙发#
发布于:2010-09-21 08:32
|
|
板凳#
发布于:2010-09-22 01:51
|
|