load_dso: we can expect LoadLibraryExW to be available

This commit is contained in:
rdb 2019-09-06 09:46:57 +02:00
parent d92b440617
commit b4fd82b812

View File

@ -50,19 +50,7 @@ load_dso(const DSearchPath &path, const Filename &filename) {
return nullptr;
}
std::wstring os_specific_w = abspath.to_os_specific_w();
// Try using LoadLibraryEx, if possible.
typedef HMODULE (WINAPI *tLoadLibraryEx)(LPCWSTR, HANDLE, DWORD);
tLoadLibraryEx pLoadLibraryEx;
HINSTANCE hLib = LoadLibrary("kernel32.dll");
if (hLib) {
pLoadLibraryEx = (tLoadLibraryEx)GetProcAddress(hLib, "LoadLibraryExW");
if (pLoadLibraryEx) {
return pLoadLibraryEx(os_specific_w.c_str(), nullptr, LOAD_WITH_ALTERED_SEARCH_PATH);
}
}
return LoadLibraryW(os_specific_w.c_str());
return LoadLibraryExW(os_specific_w.c_str(), nullptr, LOAD_WITH_ALTERED_SEARCH_PATH);
}
bool