Что означает код NTSTATUS 0xC0000019 (STATUS_NOT_MAPPED_VIEW)?

 
Предыдущий Следующий
STATUS_CONFLICTING_ADDRESSES STATUS_UNABLE_TO_FREE_VM

STATUS_NOT_MAPPED_VIEW

Адрес не обозначает существующее сопоставленное представление

UnmapViewOfFile работает с базовым адресом, возвращённым при создании представления. Указатель в середину представления, частная область VirtualAlloc, уже отсоединённый адрес или адрес из другого процесса не идентифицируют это сопоставление. Объект секции может оставаться действительным после удаления одного представления.

Храните исходный базовый адрес представления отдельно от указателей приложения внутрь сопоставленных данных. Не передавайте округлённый указатель на данные, если он не совпадает точно с возвращённой базой. При параллельном демонтаже передавайте владение атомарно, чтобы два потока не могли отсоединить одно представление.

Что проверить

  • Сравните адрес с точным значением, возвращённым MapViewOfFile или нативным вызовом сопоставления.
  • Перед очисткой используйте VirtualQuery, чтобы подтвердить тип области и базу выделения.
  • Проверьте пути повторного закрытия и выхода по ошибке на наличие второго отсоединения представления.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.