MapViewOfFile可以两次返回相同的地址吗?

时间:2011-07-22 14:54:20

标签: c++ windows

早上好,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.

1 个答案:

答案 0 :(得分:4)

执行UnmapViewOfFile后,该虚拟地址可以用于其他操作。是的,随后的MapViewOfFile可能会返回此地址。

相关问题