โมฆะ AFXAPI AfxTermExtensionModule ( AFX_EXTENSION_MODULEamp สถานะ, BOOL ลูกบอล = เท็จ );(&A)
พารามิเตอร์
สถานะ
การอ้างอิงกับโครงสร้างของAFX_EXTENSION_MODULEที่ประกอบด้วยสถานะของโมดูล DLL ของนามสกุล?
ลูกบอลnbsp ถ้าจริงการล้างข้อมูลทั้งหมดโมดูล DLL นามสกุล การล้างข้อมูลอื่น เท่าปัจจุบัน DLL โม(&N)?
หมายเหตุ
เรียกใช้ฟังก์ชันนี้เพื่ออนุญาตให้ MFC เพื่อล้างข้อมูลนามสกุล DLL เมื่อแต่ละกระบวนการแยกออกจาก DLL (ซึ่งเกิดขึ้น เมื่อออกจากกระบวนการ หรือ เมื่อมีการยกเลิกการโหลดเป็นผลของการโทรAfxFreeLibrary DLL) AfxTermExtensionModuleจะลบการจัดเก็บข้อมูลเฉพาะที่แนบกับโมดูล และเอารายการใด ๆ ออกจากแคชหรือการแมปข้อความ ตัวอย่างเช่น:
คง AFX_EXTENSION_MODULE extensionDLL
int "C" extern APIENTRY DllMain (HINSTANCE hInstance, DWORD dwReason, LPVOID)
{
nbsp ถ้า (dwReason == DLL_PROCESS_ATTACH)
{
/ / เตรียมใช้งานแบบครั้งเดียวของนามสกุล DLL ถ้า (AfxInitExtensionModule (extensionDLL, hInstance))
ส่งกลับค่า 0
/ / TODO: ทำงานเตรียมการใช้งานอื่น ๆ ที่นี่
}
else if (dwReason == DLL_PROCESS_DETACH)
{
/ / นามสกุล DLL ต่อกระบวนเลิกจ้าง
AfxTermExtensionModule(extensionDLL)
/ / TODO: ดำเนินงานการล้างข้อมูลอื่น ๆ ที่นี่
}
ส่งกลับค่า 1 / / ตกลง
}(&N)
ถ้าโหลดโปรแกรมประยุกต์ของคุณ และทำให้การนามสกุล Dll แบบไดนามิก ให้แน่ใจว่าโทรAfxTermExtensionModule เนื่องจากส่วนใหญ่นามสกุล Dll ไม่รับโหลด (ปกติ พวกเขาถูกเชื่อมโยงผ่านไลบรารีของตนนำเข้า), การเรียกไปยังAfxTermExtensionModuleมักไม่จำเป็น?
MFC นามสกุล Dll ต้องเรียกAfxInitExtensionModuleในDllMainของตนเอง ถ้าจะสามารถส่งออกวัตถุCRuntimeClass DLL หรือมีทรัพยากรของตัวเองกำหนดเอง คุณต้องการสร้างวัตถุCDynLinkLibraryในDllMain?
ดูเพิ่มเติมnbspAfxInitExtensionModule(&N)