extern "C" int __declspec(dllexport) Unload(void) { #ifdef _DEBUG UnInitDebug(); #endif WindowList_Destroy(YAMNVar.MessageWnds); WindowList_Destroy(YAMNVar.NewMailAccountWnd); DestroyCursor(hCurSplitNS); DestroyCursor(hCurSplitWE); CloseHandle(NoWriterEV); CloseHandle(WriteToFileEV); CloseHandle(ExitEV); DeleteCriticalSection(&AccountStatusCS); DeleteCriticalSection(&FileWritingCS); DeleteCriticalSection(&PluginRegCS); UnhookEvents(); DestroyServiceFunctions(); UnloadPlugins(); delete [] CodePageNamesSupp; return 0; }
DWORD WINAPI UnLoadFilter(LPVOID) { #ifdef DEBUG_FILTER UnInitDebug(); #endif if(FilterPath!=NULL) delete[] FilterPath; FilterPath=NULL; return 0; }
int CMPlugin::Unload(void) { if(!g_bInitialized) { TRACE(L"ERROR: Unload requested, but plugin is not initialized?!\n"); return 0; } TRACE(L"-------------------------------------------\nUnloading started\n"); UnInit(); TRACE(L"Unloading successful\n"); TRACE(L"Cleaning up: "); UnInitDebug(); TRACE(L"OK!\n"); return 0; }
// Called by Miranda when the plugin should unload itself. EXTERN_C int __declspec(dllexport) Unload(void) { if(!g_bInitialized) { TRACE(_T("ERROR: Unload requested, but plugin is not initialized?!\n")); return 0; } TRACE(_T("-------------------------------------------\nUnloading started\n")); UnInit(); TRACE(_T("Unloading successful\n")); TRACE(_T("Cleaning up: ")); UnInitDebug(); TRACE(_T("OK!\n")); return 0; }
//************************************************************************ // Deinitializes the Outputmanager //************************************************************************ bool CLCDOutputManager::Shutdown() { ASSERT(NULL != m_pLcdConnection); ASSERT(NULL != m_pGfx); // Shutdown all screens vector<CLCDScreen*>::iterator iter = m_Screens.begin(); while(iter != m_Screens.end()) { (*(iter))->Shutdown(); iter++; } m_pLcdConnection->Shutdown(); delete m_pLcdConnection; UnInitDebug(); m_bInitialized = false; return true; }