Почему ходок зависимости показывает отсутствующие dll?

У меня есть файл DLL, который, когда я пытаюсь загрузить с помощью LoadLibrary работает отлично. Я могу успешно вызывать функции в загруженной DLL. Однако, когда я пытаюсь использовать средство обхода зависимостей на этой dll, он показывает мне кучу недостающих dll и некоторые символы в некоторых dll.

Я знаю, что могу смело игнорировать их, однако я хотел бы знать, почему это произошло? Я попытался проанализировать каталог импорта PE-заголовков, и я получил аналогичные результаты, как и обходчик зависимостей.

Есть указатели?

1

Решение

Я думаю, что вы видите часть реализации Windows, и это потому, что Dependency Walker не знает точные правила ОС, но LoadLibrary делает. Некоторые из этих «поддельных импортов» могут существовать по причинам совместимости, чтобы поддерживать приложения, которые делают необоснованные предположения о Windows DLL.

Документы MSDN, с какими DLL вы должны связать. Они обычно пересылают в другие библиотеки DLL. Пожалуйста, не кодируйте жестко эти библиотеки реализации. Ваша компания, вероятно, не настолько важна, чтобы Microsoft добавляла хаки совместимости при изменении библиотек реализации.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]