早上好,MapViewOfFile可以两次返回相同的地址吗?但是,UnmapViewOfFile在必须两次取消映射相同地址时行为不当。我们收到错误487:无效的地址。下面是一些伪代码,展示了我们如何使用MapViewOfFile和UnMapViewOfFile:
retval = UnmapViewOfFile(TmpPrevMapPtr);
if (retval == 0){
DWORD lasterr = GetLastError();
printf("UNMAP Last Error = %d ...
}
MapPtr = (char*)::MapViewOfFile( hMapping, FILE_MAP_WRITE | FILE_MAP_READ,0,baseoff,
mappedlength);
if (MapPtr == 0){
throw cException(ERR_MEMORYMAPPING,TempFileName);
}
Thank you.
答案 0 :(得分:4)
执行UnmapViewOfFile
后,该虚拟地址可以用于其他操作。是的,随后的MapViewOfFile
可能会返回此地址。