初始化规则 DLL

由于规则 DLL 具有 CWinApp 对象,故它们执行初始化和终止任务的位置应与 MFC 应用程序相同:在 DLL 的 CWinApp 派生类的 InitInstanceExitInstance 成员函数中。MFC 为 PROCESS_ATTACHPROCESS_DETACH 提供了由 _DllMainCRTStartup 调用的 DllMain 函数,因此您不应编写自己的 DllMain 函数。MFC 提供的 DllMain 函数在 DLL 被加载时调用 InitInstance,并在 DLL 被卸载之前调用 ExitInstance

规则 DLL 可通过在自己的 InitInstance 函数中调用 TlsAllocTlsGetValue 来跟踪多线程。这些函数允许 DLL 跟踪线程特定的数据。

在动态链接到 MFC 的规则 DLL 中,如果使用了任何 MFC OLE、MFC 数据库(或 DAO)或 MFC 套接字支持,则将分别自动链接 MFC 调试扩展 DLL MFCOxxD.dll、MFCDxxD.dll 和 MFCNxxD.dll(其中 xx 是版本号)。对于在规则 DLL 的 CWinApp::InitInstance 中使用的上述每个 DLL,必须调用下列预定义的初始化函数之一。

MFC 类型支持

要调用的初始化函数

MFC OLE (MFCOxxD.dll)

AfxOleInitModule

MFC 数据库 (MFCDxxD.dll)

AfxDbInitModule

MFC 套接字 (MFCNxxD.dll)

AfxNetInitModule

您希望做什么?

您想进一步了解什么?

请参见

概念

初始化 DLL