| Предыдущий | Следующий |
| ERROR_DEBUGGER_INACTIVE | ERROR_VDM_DISALLOWED |
ERROR_DELAY_LOAD_FAILED
Что означает ERROR_DELAY_LOAD_FAILED
ERROR_DELAY_LOAD_FAILED (decimal 1285, 0x00000505) — не удалось отложенно загрузить DLL или получить адрес функции из DLL с отложенной загрузкой.
Что проверить
Зафиксируйте DLL и импорт, который загрузчик пытался разрешить при delay-load.
- Проверьте фактический путь загруженной DLL, её архитектуру и наличие требуемой функции/порядкового номера экспорта.
- Если используется delay-load failure hook, сохраните исходную ошибку загрузчика до того, как обработчик преобразует её в общий код.
Исходная формулировка
this result an attempt to delay-load a .dll or get a function address in a delay-loaded .dll failed.
The Visual C++ linker now supports the delayed loading of DLLs. This relieves you of the need to use the Windows SDK functions LoadLibrary and GetProcAddress to implement DLL delayed loading.
An application can delay load a DLL using the /DELAYLOAD (Delay Load Import) linker option with a helper function (default implementation provided by Visual C++). The helper function will load the DLL at run time by calling LoadLibrary and GetProcAddress for you.
Delayed imports means that in import table instead of import functions addresses contains addresses of a special program part called "delay load helper" (sometimes is called also "thunk"), which substitutes real imported function address when the function is called for the first time.
Bound imports means that in PE-import table store fixed (bound) addresses of import functions for a specific version of DLL with those function. Bound addresses are calculated and written to import table by linker during program compilation and linking phase.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
