何时使用DLL_PROCESS_VERIFIER标志调用DllMain?

Kon*_*rad 3 c++ windows dll winapi dllmain

在Windows上,标准DLL入口点称为DllMain.第二个参数是DWORD ul_reason_for_call.

我在MSDN上查找了第二个参数的可能值.以下是显而易见的:

DLL_PROCESS_ATTACH:
DLL_THREAD_ATTACH:
DLL_THREAD_DETACH:
DLL_PROCESS_DETACH:
Run Code Online (Sandbox Code Playgroud)

但是关于:

DLL_PROCESS_VERIFIER
Run Code Online (Sandbox Code Playgroud)

何时使用此标志调用入口点?在DLL的"正常"操作期间我应该担心它吗?

请注意,我只DLL_PROCESS_VERIFIER在Visual Studio 2005的头文件中看到,而不是2008.

Chr*_*cke 5

我想在理论上,微软可以在他们认为需要新的用法和标志时发明新的用法和标志.因此,简单的规则是确保您的代码容忍意外的值:即写入它来处理您需要处理的情况并忽略其余的情况,返回零.