初始化非 MFC DLL
更新:2007 年 11 月
若要初始化非 MFC DLL,您的 DLL 原始程式碼必須包含名為 DllMain 的函式。下列程式碼會展示一個可以說明 DllMain 定義的基本架構:
BOOL APIENTRY DllMain(HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved)
{
switch( ul_reason_for_call ) {
case DLL_PROCESS_ATTACH:
...
case DLL_THREAD_ATTACH:
...
case DLL_THREAD_DETACH:
...
case DLL_PROCESS_DETACH:
...
}
return TRUE;
}
注意事項: |
---|
DllEntryPoint 的 Windows SDK 文件指出,進入點函式的實際名稱必須在連結器命令列搭配 /ENTRY 選項指定。在 Visual C++ 中,如果您的進入點函式的名稱是 DllMain,您就不用使用 /ENTRY 選項。事實上,如果您使用 /ENTRY 選項,並且將您的進入點函式命名為 DllMain 以外的名稱,C 執行階段程式庫就無法適當地初始化。 |