Что означает код NTSTATUS 0xC000036F (STATUS_INVALID_IMPORT_OF_NON_DLL)?

 
Предыдущий Следующий
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.

Ссылки


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