众所周知的DLLMain函数参数之一是 LPVOID lpvReserved 。 来自MSDN文档:
如果fdwReason是DLL_PROCESS_ATTACH,则动态的lpvReserved为NULL 加载和静态加载非NULL。
但lpReserved真正意味着什么? 是指向somenthing的指针吗?
答案 0 :(得分:5)
问题中的引用包含您可以信赖的所有信息:
如果fdwReason是DLL_PROCESS_ATTACH,则lpvReserved对于动态加载为NULL,对于静态加载为非NULL。
您有权做的只是将lpvReserved
视为布尔值,表示有关负载是动态还是静态(也就是隐式)的信息。
有些版本的Windows lpvReserved
包含更多纯布尔值的信息,这是完全合理的。但是,这是一个私有的实现细节,你不应该依赖它。