阅读:1407回复:1
MmMapIoSpace的问题
不知道大家有没有碰到这样的问题。源程序如下:
paPhysAddr.QuadPart = (ULONGLONG)g_adwTDAddr[wTDNum]; pvMappedAddr = MmMapIoSpace(paPhysAddr, sizeof(SDesc), FALSE); if (pvMappedAddr == NULL) { return FALSE; } else { memmove(pbyDataBuf + (wi * sizeof(SDesc)), pvMappedAddr, sizeof(SDesc)); MmUnmapIoSpace(pvMappedAddr, sizeof(SDesc)); wTDNum++; } } 我希望多次访问一个已分配的内存数组,这段程序理论上没问题,但MmUnmapIoSpace只能执行一次,第二次的时候就会出现错误,即phymem.c文件中的 PhysPageToZero (PHYSICAL_ADDRESS paPFN) 函数提示有错。 希望有人能给点提示,谢谢。 |
|
沙发#
发布于:2007-08-07 19:37
应该还是你数组里的地址不对吧.
|
|
|