AfxTermExtensionModule

โมฆะ 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)

Index