У меня есть файл DLL, который, когда я пытаюсь загрузить с помощью LoadLibrary
работает отлично. Я могу успешно вызывать функции в загруженной DLL. Однако, когда я пытаюсь использовать средство обхода зависимостей на этой dll, он показывает мне кучу недостающих dll и некоторые символы в некоторых dll.
Я знаю, что могу смело игнорировать их, однако я хотел бы знать, почему это произошло? Я попытался проанализировать каталог импорта PE-заголовков, и я получил аналогичные результаты, как и обходчик зависимостей.
Есть указатели?
Я думаю, что вы видите часть реализации Windows, и это потому, что Dependency Walker не знает точные правила ОС, но LoadLibrary
делает. Некоторые из этих «поддельных импортов» могут существовать по причинам совместимости, чтобы поддерживать приложения, которые делают необоснованные предположения о Windows DLL.
Документы MSDN, с какими DLL вы должны связать. Они обычно пересылают в другие библиотеки DLL. Пожалуйста, не кодируйте жестко эти библиотеки реализации. Ваша компания, вероятно, не настолько важна, чтобы Microsoft добавляла хаки совместимости при изменении библиотек реализации.
Других решений пока нет …