在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
。 最佳答案
我想从理论上讲,Microsoft可以在他们认为需要新用法时发明新的用法和标记。因此,简单的规则是确保您的代码可以容忍意外的值:即,将其编写为通过返回零来处理需要处理的情况并忽略其余情况。