Я хочу загрузить DLL из подпапки в моей папке приложения. Так что я положил my.dll со всеми зависимыми DLLs к /моя_папкаНе удалось загрузитьLibrary из подпапки в WindowsXP
Я берет меня некоторое время, чтобы выяснить, как правильно загрузить его:
m_handle = LoadLibraryEx(".\\myfolder\\my.dll", 0, LOAD_WITH_ALTERED_SEARCH_PATH);
Это очень хорошо работает на Windows 7 & и позже. Однако он возвращает ошибку 998 ERROR_NOACCESS «Недопустимый доступ к ячейке памяти». В Windows XP.
Однако загрузке DLL из папки приложения очень хорошо работает на всех версиях Windows,
PS: Я пытался использовать SetDllDirectory с absoulte и относительные пути к MyFolder, но до сих пор нет успеха на Windows XP
Поддержка Windows XP завершена в течение длительного времени. Любая конкретная причина, почему вам нужно ее поддерживать? – tambre
Он по-прежнему имеет большую пользовательскую базу, более 40% моих клиентов. – Rem
Использование относительных путей, вероятно, зависит от текущего рабочего каталога, который часто является источником проблем. Возможно, в сочетании с LoadLibrary от XP не имеет отношения к относительным путям. Вы попробовали LoadLibrary с полным путем? Или же используйте SetDllDirectory с полным путем к моей папке, а затем используйте LoadLibrary («my.dll»). – stijn