[英]Is it possible for MapViewOfFile to return the same address twice?
早上好, 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.
在您执行UnmapViewOfFile
之后,该虚拟地址可免费用于其他操作。 所以是的,后续的MapViewOfFile
可能会返回这个地址。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.