windows - DLLMain lpReserved 参数的真正含义是什么?

标签 windows winapi dll internals

知名度之一DLLMain函数参数是 LPVOID lpvReserved。 来自 MSDN 文档:

If fdwReason is DLL_PROCESS_ATTACH, lpvReserved is NULL for dynamic loads and non-NULL for static loads.

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

最佳答案

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

If fdwReason is DLL_PROCESS_ATTACH, lpvReserved is NULL for dynamic loads and non-NULL for static loads.

您有权做的就是将 lpvReserved 视为一个 bool 值,表示有关负载是动态还是静态(也称为隐式)的信息。

lpvReserved 包含比普通 bool 值更多的信息的 Windows 版本是完全合理的。但是,这是私有(private)实现细节,您不应依赖它。

关于windows - DLLMain lpReserved 参数的真正含义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15406126/

相关文章:

java - JNI问题: calling in Java a Dll that uses a third party dll

go - GUI 未运行 - 未在 DLL 中找到入口点

c - 为什么大多数与 HANDLE 相关的函数在失败时返回 0?

c# - 如何在 Windows 10 C# 通用应用程序中使用 C++ 类?

windows - Windows 中的智能卡登录是否绑定(bind)到微型驱动程序和 MS 基本 CSP 或任何 CSP 都可以工作?

c - 在回调中 RaiseException(...) win32 seh 异常是否安全? (在 x86 和 x64 上)

c++ - Win32 API 中 PathAppend 和 PathCombine 的区别

windows - 堆栈缓冲区溢出(Windows、C++): how can I detect the culprit?

delphi - 为什么 AssocQueryString 找不到与图像扩展名关联的可执行文件?

c++ - Eclipse CDT 链接选项 -static-libgcc -static-libstdc++ 不影响 Windows 上的行为