在 Windows 上,标准 DLL 入口点称为 DllMain。第二个参数是 DWORD,ul_reason_for_call
。
我已经在 MSDN 上查找了第二个参数的可能值。以下是显而易见的:
DLL_PROCESS_ATTACH:
DLL_THREAD_ATTACH:
DLL_THREAD_DETACH:
DLL_PROCESS_DETACH:
但是关于:
DLL_PROCESS_VERIFIER
什么时候会用这个标志调用入口点?我应该在 DLL 的“正常”操作期间担心它吗?
请注意,我只在 Visual Studio 2005 而非 2008 的头文件中看到 DLL_PROCESS_VERIFIER
。
最佳答案
我猜理论上微软可以在他们觉得需要新的时候发明新的用法和标志。因此,简单的规则是确保您的代码可以容忍意外值:即编写它来处理您需要处理的情况,并通过返回零来忽略其余情况。
关于c++ - 何时使用 DLL_PROCESS_VERIFIER 标志调用 DllMain?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2448879/