| Предыдущий | Следующий |
| STATUS_CRC_ERROR | STATUS_PORT_CONNECTION_REFUSED |
STATUS_SECTION_TOO_BIG
Размер отображения невозможно представить или зарезервировать
Максимальный размер секции определяется явными параметрами, базовым файлом и целевой архитектурой. Статус может возникнуть при арифметическом переполнении во время расчёта отображения, при необоснованно большом SizeOfImage в образе или если запрошенный диапазон не помещается в доступное виртуальное адресное пространство.
Объём свободной физической памяти — не единственный значимый ресурс. 32-разрядный процесс может исчерпать непрерывное адресное пространство даже на компьютере с большим объёмом памяти, а неверное выравнивание секций PE может превратить внешне небольшой файл в недопустимо большой образ в памяти.
Что проверить
- Запишите старшую и младшую части запрошенного размера, разрядность процесса, длину файла и округление при выравнивании.
- Проверьте SizeOfImage, SectionAlignment, виртуальные размеры секций PE и переполнение на границе последней секции.
- Сравните запрошенное представление с максимальным размером секции и крупнейшим свободным диапазоном адресного пространства.
- Проверяйте недоверенные поля размера до умножения или выравнивания, чтобы переполнение не превратило их в вводящее в заблуждение меньшее значение.
Ссылки
- Открытые спецификации Microsoft: значения NTSTATUS
- Microsoft: CreateFileMapping
- Microsoft: формат PE и COFF
- Исходный код LLVM: разбор объектов COFF
Нужно найти другой код? Найти другой код состояния или ошибки.