Возможно ли, чтобы MapViewOfFile дважды возвращал один и тот же адрес? - PullRequest
0 голосов
/ 22 июля 2011

Доброе утро, возможно ли, чтобы 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 Ответ

4 голосов
/ 22 июля 2011

После того, как вы сделали UnmapViewOfFile, этот виртуальный адрес можно использовать для других операций.Так что да, последующий MapViewOfFile может вернуть этот адрес.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...