何时使用 DLL_PROCESS_VERIFIER 标志调用 DllMain?
题
在 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 的“正常”操作期间担心它吗?
请注意,我只看到 DLL_PROCESS_VERIFIER
在 Visual Studio 2005 的头文件中,而不是 2008 中。
解决方案
我想从理论上讲,微软可以在任何时候他们觉得需要新的用法和标志时发明新的用法和标志。因此,简单的规则是确保您的代码能够容忍意外的值:IE。编写它来处理您需要处理的情况并通过返回零来忽略其余情况。
其他提示
这是真的晦涩。该方法还没有在的SDK 并没有出现在SDK头文件。谷歌只生产几命中,大部分网站已关闭或不信任。唯一像样的打我得到的是的Xbox的代码,它只是声明,但实际上并没有使用它。
我不充分相信,这是你曾经在一个普通的Windows程序遇到一个真正的代码。
我认为它可以具有然后值,如果它是通过应用程序验证<运行/ A>。样的猜测:)
不隶属于 StackOverflow