| Предыдущий | Следующий |
| STATUS_REPLY_MESSAGE_MISMATCH | STATUS_IMAGE_CHECKSUM_MISMATCH |
STATUS_MAPPED_ALIGNMENT
Представление начинается с неподдерживаемого выравнивания
Смещения представлений файла должны быть кратны системной гранулярности выделения, которая обычно больше размера аппаратной страницы. Если вызывающему коду нужны данные с произвольного смещения файла, необходимо округлить смещение сопоставления вниз и добавить delta к указателю на требуемые байты.
Используйте 64-разрядную арифметику для выровненного смещения, delta и увеличенной длины представления. Округление указателя вверх или использование размера страницы вместо гранулярности выделения может пропустить нужные данные или всё равно завершиться ошибкой. Для отсоединения необходимо сохранить возвращённую базу представления, а не скорректированный указатель на данные.
Что проверить
- Получите dwAllocationGranularity через GetSystemInfo в работающей системе.
- Округлите смещение файла вниз и включите префиксную delta в длину сопоставления.
- Сохраняйте и базу сопоставления для очистки, и скорректированный указатель для доступа к данным.
Ссылки
- Microsoft: сопоставление представления с заданного смещения файла
- Microsoft: создание представления файла
- Microsoft: MapViewOfFile
- Открытые спецификации Microsoft: значения NTSTATUS
Нужно найти другой код? Найти другой код состояния или ошибки.