| Предыдущий | Следующий |
| STATUS_SYSTEM_HIVE_TOO_LARGE | STATUS_NO_SECRETS |
STATUS_INVALID_IMPORT_OF_NON_DLL
Таблица импорта PE ссылается на модуль недопустимого типа
Дескрипторы импорта PE указывают модули, предоставляющие импортируемые символы. Загрузчик ожидает, что поставщики являются DLL-образами, за исключением ограниченной обработки импорта из исполняемого файла процесса. Этот статус означает, что разрешённый поставщик имеет другой тип образа или не обладает характеристиками, необходимыми обычному модулю импорта.
Причиной может быть повреждённая таблица импорта, неверная библиотека импорта, пользовательский этап компоновки либо порядок поиска DLL, разрешивший запрошенное базовое имя в посторонний исполняемый файл. Имена импортируемых функций могут быть допустимыми, даже когда тип образа поставщика неверен.
Что проверить
- Выгрузите каждый дескриптор импорта и фактический полный путь, разрешённый для проблемного имени поставщика.
- Проверьте COFF Characteristics поставщика и наличие IMAGE_FILE_DLL либо допустимой связи с исполняемым файлом.
- Проверьте входные данные сборки на библиотеку импорта, созданную из неверного бинарного файла, или устаревший файл .def.
- Проверьте каталоги поиска на EXE или файл данных, перекрывающий базовое имя требуемой DLL.
Ссылки
- Microsoft Open Specifications: значения NTSTATUS
- Microsoft: формат PE и COFF
- LLVM: проверка COFF с помощью llvm-readobj
- Исходный код Wine: загрузчик PE-модулей
Нужно найти другой код? Найти другой код состояния или ошибки.
