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

08-27 22:16