【问题标题】:What DLLMain lpReserved parameter really mean?DLLMain lpReserved 参数的真正含义是什么?
【发布时间】:2013-03-02 14:47:30
【问题描述】:

众所周知的DLLMain 函数参数之一是LPVOID lpvReserved。 来自 MSDN 文档:

如果 fdwReason 为 DLL_PROCESS_ATTACH,则 lpvReserved 为 NULL 用于动态 负载和非 NULL 用于静态负载。

但是 lpReserved 的真正含义是什么? 是指向某物的指针吗?

【问题讨论】:

标签: windows winapi dll internals


【解决方案1】:

问题中的引用包含您可以依赖的所有信息:

如果 fdwReason 为 DLL_PROCESS_ATTACH,则 lpvReserved 对于动态加载为 NULL,对于静态加载为非 NULL。

您有权做的只是将lpvReserved 视为一个布尔值,它发出有关负载是动态还是静态(也称为隐式)的信息。

在某些 Windows 版本中 lpvReserved 携带比普通布尔值更多的信息是完全合理的。但是,这是一个私有的实现细节,您不应该依赖它。

【讨论】:

    猜你喜欢
    • 2017-05-06
    • 2012-03-30
    • 2011-10-10
    • 2012-08-03
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多