недійсними &AFXAPI AfxTermExtensionModule ( AFX_EXTENSION_MODULEamp; держава, BOOL м'яч = ПОМИЛКОВІ );
Параметри
держава
Посилання на AFX_EXTENSION_MODULE структуру, яка містить стан модуля розширення DLL.
м'яч Якщо правда, очищення всіх розширенням DLL модулів. В іншому випадку, очищення лише поточний DLL модуль.
Зауваження
Викликано цю функцію, щоб дозволити MFC для очищення розширенням DLL коли кожний процес від'єднується від DLL, (який буває, коли процес виходів, або DLL вивантажений з AfxFreeLibrary виклику). AfxTermExtensionModule видалення будь-яких місцевих зберігання додається до модуля і видалити будь-які записи з кеша карта повідомлення. Наприклад:
статичний AFX_EXTE&NSION_MODULE extensionDLL;
зовнішній "С" int APIENTRY DllMain (HINSTANCE hInstance, DWORD dwReason, LPVOID)
{
nbsp; Якщо (dwReason = = DLL_PROCESS_ATTACH)
{
/ / Розширення DLL одноразова ініціалізації якщо (!AfxInitExtensionModule (extensionDLL, hInstance))
повертає 0;
/ / TODO: інших завдань ініціалізації тут
}
Якщо інше (dwReason = = DLL_PROCESS_DETACH)
{
/ / Розширення DLL в процесі припинення
AfxTermExtensionModule(extensionDLL);
/ / TODO: інших завдань очищення тут
}
повернення 1; / / ok
}
Якщо ваша заявка навантажень і звільняє розширенням DLL динамічно, переконайтеся, що називають AfxTermExtensionModule. Оскільки більшість розширенням DLL не динамічно завантажуються (як правило, вони пов'язані через їх Імпорт бібліотеки), дзвінок на AfxTermExtensionModule як правило не є необхідним.
MFC розширенням DLL потрібно зателефонувати AfxInitExtensionModule в їх DllMain. Якщо DLL буде експорт CRuntimeClass об'єкти або має свої власні ресурси, ви також повинні створити об'єкт CDynLinkLibrary в DllMain.
Дивіться також AfxInitExtensionModule