c++ - Dllmain 可以使用 FreeLibrary 吗?

标签 c++ c winapi dll

我想创建一个 dll,在某些情况下自行卸载,这意味着

BOOL APIENTRY DllMain( HMODULE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved)
{
if (ul_reason_for_call==DLL_PROCESS_ATTACH)
if (!CheckSomething()) //check if a file doesnt exists for example
FreeLibrary(hModule);

}

我试过了,但我无法让它工作。如果有任何替代解决方案。请告诉我,我不希望附加 dll 的进程卸载它,我希望它自行卸载

最佳答案

您无法卸载 DLL,它尚未加载。这就是返回 BOOL 的目的。如果您不想加载 DLL,则返回 FALSE

关于c++ - Dllmain 可以使用 FreeLibrary 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8646938/

相关文章:

c++ - 如何使用 tmpfile () 获取临时文件名

c# - Outlook 安全提示自动批准

c++ - x11/xlib 与 microsoft visual c++

C:关于 Beej 的网络指南的问题......这里有一个假设吗?

c - 这个程序什么时候返回0

c++ - 捕获鼠标在 Win32 游戏中的文本框上的点击

c# - 如何判断当前Windows session 是否被锁定?

c++ - 在运行时使用不同的构造函数

c++ - 为什么没有从指针到对 const 指针的引用的隐式转换

c++ - 编译器对带有元组参数的函数的混淆