【发布时间】:2018-05-11 18:20:48
【问题描述】:
因此,我不断遇到具有长文件名的 DLL。例如只有两个:"api-ms-win-appmodel-runtime-l1-1-1.dll" 或 "api-ms-win-appmodel-identity-l1-2-0.dll"。显然微软称他们为“umbrella libraries”。
我最初的理解是它们只是具有新文件名的新 DLL,但后来我尝试搜索这些文件。好吧,我在磁盘上找不到它们作为物理文件...
所以我很好奇,它们是不是磁盘上不存在的某种虚拟 DLL 文件名?
WCHAR buff[MAX_PATH];
buff[0] = 0;
GetSystemDirectory(buff, MAX_PATH);
StringCchCat(buff, MAX_PATH, L"\\api-ms-win-appmodel-runtime-l1-1-1.dll");
HMODULE hModule = LoadLibrary(buff);
//'hModule' is NULL & error code is ERROR_MOD_NOT_FOUND
但以下工作:
HMODULE hModule = LoadLibrary(L"api-ms-win-appmodel-runtime-l1-1-1.dll");
【问题讨论】: