若要檢視英文版的文章,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

AfxInitExtensionModule

 

呼叫在擴充 DLL 的 DllMain 之這個函式來初始化 DLL。


      BOOL AFXAPI AfxInitExtensionModule(
   AFX_EXTENSION_MODULE& state,
   HMODULE hModule 
);

state

在初始化之後將包含擴充 DLL 模組狀態之 AFX_EXTENSION_MODULE 結構 結構的參考。這個狀態是由擴充 DLL 初始化為執行一般靜態物件建構的一部分執行階段類別物件的複本,在 DllMain 中項目之前。

hModule

擴充 DLL 模組的控制代碼。

TRUE ,如果擴充 DLL 成功初始化;否則, FALSE

例如:

static AFX_EXTENSION_MODULE NVC_MFC_DLLDLL = { NULL, NULL };
extern "C" int APIENTRY
DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
	// Remove this if you use lpReserved
	UNREFERENCED_PARAMETER(lpReserved);

	if (dwReason == DLL_PROCESS_ATTACH)
	{
		TRACE0("NVC_MFC_DLL.DLL Initializing!\n");

		// Extension DLL one-time initialization
		if (!AfxInitExtensionModule(NVC_MFC_DLLDLL, hInstance))
			return 0;

AfxInitExtensionModule 會做HMODULE的複本,且會捕捉模組的 Run-Time 類別 ( CRuntimeClass 物件),以及其在建立 CDynLinkLibrary (COleObjectFactory 物件)。

MFC 擴充 DLL 必須在其 DllMain 函式的兩個項目:

您可以呼叫AfxTermExtensionModule在每個處理序從擴充 DLL 中斷連結時清除擴充 DLL (發生在處理序離開或卸載 DLL 來當做 AfxFreeLibrary 呼叫的結果時) 。

需求

Header: afxdll_.h

顯示: