BOOL AFXAPI AfxInitExtensionModule ( AFX_EXTENSION_MODULEamp ʶҹÐ, HMODULE hModule );(&A)
Êè§¡ÅѺ¤èÒ
TRUE¶éÒ¹ÒÁÊ¡ØÅ DLL ¶Ù¡àµÃÕÂÁãªé§Ò¹àÃÕºÃéÍÂáÅéÇ ÁԩйÑé¹à·ç¨?
¾ÒÃÒÁÔàµÍÃì
ʶҹÐ
¡ÒÃÍéÒ§ÍÔ§¡Ñºâ¤Ã§ÊÃéÒ§AFX_EXTENSION_MODULE«Ö觨лÃСͺ´éÇÂʶҹТͧâÁ´ÙÅ DLL ¢Í§¹ÒÁÊ¡ØÅËÅѧ¡ÒÃàµÃÕÂÁãªé§Ò¹ ÃѰÁÕÊÓà¹Ò¢Í§Çѵ¶Ø¤ÅÒ runtime ·Õèä´é¶Ù¡àµÃÕÂÁãªé§Ò¹ ´éǹÒÁÊ¡ØÅ DLL ·Õèà»ç¹Êèǹ˹Ö觢ͧ¡ÒáèÍÊÃéÒ§Çѵ¶Ø¤§»¡µÔ·Õè´Óà¹Ô¹¡Òáè͹·Õè¨ÐãÊèDllMain?
hModule
µÑǨѴ¡ÒâͧâÁ´ÙÅ DLL ¹ÒÁÊ¡ØÅ?
ËÁÒÂà˵Ø
àÃÕ¡ãªé¿Ñ§¡ìªÑ¹¹Õéã¹¹ÒÁÊ¡ØÅ DLL ¡ÒÃDllMain DLL ¡ÒÃàµÃÕÂÁãªé§Ò¹ µÑÇÍÂèÒ§àªè¹:
¤§ AFX_EXTENSION_MODULE extensionDLL
int "C" extern APIENTRY
DllMain (HINSTANCE hInstance, DWORD dwReason, LPVOID)
{
nbsp ¶éÒ (dwReason == DLL_PROCESS_ATTACH)
{
/ / àµÃÕÂÁãªé§Ò¹áºº¤ÃÑé§à´ÕÂǢͧ¹ÒÁÊ¡ØÅ DLL
if (!AfxInitExtensionModule (extensionDLL, hInstance))
Êè§¡ÅѺ¤èÒ 0(&N)...
AfxInitExtensionModule·ÓÊÓà¹Ò¢Í§ DLL HMODULEáÅШѺ¢Í§ DLL runtime-¤ÅÒÊ (â¤Ã§ÊÃéÒ§CRuntimeClass ) ÃÇÁ·Ñé§âç¢Í§Çѵ¶Ø (Çѵ¶ØCOleObjectFactory ) ÊÓËÃѺãªéã¹ÀÒÂËÅѧàÁ×èÍÁÕÊÃéÒ§Çѵ¶ØCDynLinkLibrary?
MFC ¹ÒÁÊ¡ØÅ Dll µéͧ·ÓÊͧÊÔè§ã¹¡Ò÷ӧҹ¢Í§DllMain:
¤Ø³ÊÒÁÒöàÃÕ¡ãªéAfxTermExtensionModuleà¾×èÍÅéÒ§¹ÒÁÊ¡ØÅ DLL àÁ×èÍáµèÅСÃкǹ¡ÒÃá¡ÍÍ¡¨Ò¡Êèǹ¢ÂÒ DLL («Öè§à¡Ô´¢Öé¹ àÁ×èÍÍÍ¡¨Ò¡¡Ãкǹ¡Òà ËÃ×Í DLL ¶Ù¡Â¡àÅÔ¡¡ÒÃâËÅ´à»ç¹¼Å¢Í§¡ÒÃàÃÕ¡AfxFreeLibrary )?
´Ùà¾ÔèÁàµÔÁnbspAfxTermExtensionModule(&N)