Loadlibrary schlägt in Winui3 aus
Posted: 05 Mar 2025, 04:08
Ich versuche, das SDK in einer Winui 3 C ++ -Anwendung zu verwenden. Während des Debuggens untersuchte ich den Prozess und stellte fest, dass das Aufrufen von Loadlibraryexa als Test die DLL erfolgreich geladen hatte. Ich verstehe jedoch nicht, warum Loadlibrarya fehlschlägt.
Was können die möglichen Gründe für diesen Fehler sein? Loadlibrarya schlägt selbst bei einem vollständigen Pfad versagt. nicht hinzugefügt werden. Ich bin mir jedoch nicht sicher, wie ich dieses Problem beheben soll. />
.cpp
Was können die möglichen Gründe für diesen Fehler sein? Loadlibrarya schlägt selbst bei einem vollständigen Pfad versagt. nicht hinzugefügt werden. Ich bin mir jedoch nicht sicher, wie ich dieses Problem beheben soll. />
.cpp
Code: Select all
// LoadLibraryExA succeeds
HMODULE module2 = LoadLibraryExA(
"C:\\Program Files\\IDS\\ids_peak\\generic_sdk\\api\\lib\\x86_64\\ids_peak.dll",
NULL,
LOAD_WITH_ALTERED_SEARCH_PATH
);
size_t sz = 0;
if (_wgetenv_s(&sz, NULL, 0, L"IDS_PEAK_GENERIC_SDK_PATH") == 0 && sz > 0)
{
std::vector env_ids_peak(sz);
if (_wgetenv_s(&sz, env_ids_peak.data(), sz, L"IDS_PEAK_GENERIC_SDK_PATH") == 0)
{
if (_wgetenv_s(&sz, NULL, 0, L"PATH") == 0 && sz > 0)
{
std::vector env_path(sz);
if (_wgetenv_s(&sz, env_path.data(), sz, L"PATH") == 0)
{
std::wstring ids_peak_path(env_ids_peak.data());
ids_peak_path.append(L"\\api\\lib\\x86_64");
std::wstring path_var(env_path.data());
path_var.append(L";").append(ids_peak_path);
_wputenv_s(L"PATH", path_var.c_str());
}
}
}
}
// LoadLibraryA fails
HMODULE module = ::LoadLibraryA("ids_peak.dll");