int CTRiASHPApp::ExitInstance() { // TRiAS-Kopplung rücksetzen g_pDexExtensionProc = NULL; // jetzt alles aufgeben _Module.Term(); #if defined(_DEBUG) char cbBuffer[_MAX_PATH]; ::GetModuleFileName (m_hInstance, cbBuffer, sizeof(cbBuffer)); os_path path (cbBuffer); os_string str (path.filename()); TRACE1(TEXT("%s: exiting: \r\n"), str.c_str()); if (_Module.GetLockCount() != 0) TRACE1(TEXT("\tInfo: Global ATL lock count: %ld\r\n"), _Module.GetLockCount()); TRACE0(TEXT("\t")); HRESULT hr = AfxDllCanUnloadNow(); if (S_OK != hr) TRACE1(TEXT("Info: AfxDllCanUnloadNow returns: 0x%lx\r\n"), hr); #endif // _DEBUG return CWinApp::ExitInstance(); }
STDAPI DllCanUnloadNow(void) { #ifdef _MERGE_PROXYSTUB if (PrxDllCanUnloadNow() != S_OK) return S_FALSE; #endif return (_Module.GetLockCount()==0) ? S_OK : S_FALSE; }
///////////////////////////////////////////////////////////////////////////// //++ // // DllCanUnloadNow // // Description: // Used to determine whether the DLL can be unloaded by COM. // // Arguments: // None. // // Return Value: // S_OK // Dll can be unloaded now. // // S_FALSE // Dll cannot be unloaded now... // //-- ///////////////////////////////////////////////////////////////////////////// STDAPI DllCanUnloadNow( void ) { AFX_MANAGE_STATE( AfxGetStaticModuleState() ); return ( AfxDllCanUnloadNow() && _Module.GetLockCount() == 0 ) ? S_OK : S_FALSE; } //*** DllCanUnloadNow
STDAPI DllCanUnloadNow(void) { #ifdef _MERGE_PROXYSTUB if (PrxDllCanUnloadNow() != S_OK) return S_FALSE; #endif AFX_MANAGE_STATE(AfxGetStaticModuleState()); return (AfxDllCanUnloadNow()==S_OK && _Module.GetLockCount()==0) ? S_OK : S_FALSE; }
STDAPI DllCanUnloadNow(void) { #ifdef _MERGE_PROXYSTUB if (S_OK != PrxDllCanUnloadNow()) return S_FALSE; #endif return _Module.GetLockCount() ? S_FALSE : S_OK; }
STDAPI DllCanUnloadNow(void) { HRESULT hr; TraceMsg( L"-->DllCanUnloadNow.\n"); hr = (_Module.GetLockCount() == 0) ? S_OK : S_FALSE; TraceMsg( L"-->DllCanUnloadNow(HRESULT = %x).\n", hr ); return hr; }
STDAPI DllCanUnloadNow(void) { #ifdef _MERGE_PROXYSTUB if ( PrxDllCanUnloadNow() != S_OK ) { return S_FALSE; } #endif if ( _Module.GetLockCount() == 0 ) { // // All references to COM objects in this DLL have been released, so // the DLL can now be safely unloaded. After this returns, DllMain // will be called with dwReason == DLL_PROCESS_DETACH. // return S_OK; } else { return S_FALSE; } }
STDAPI DllCanUnloadNow(void) { return (_Module.GetLockCount()==0) ? S_OK : S_FALSE; }
STDAPI DllCanUnloadNow(void) { ATLTRACE("DllCanUnloadNow\n"); return (_Module.GetLockCount()==0) ? S_OK : S_FALSE; }
HRESULT OPCEngine::canUnloadNow(void) { LONG lockCount = _Module.GetLockCount(); _TRACE(TL_INF, TG_COM, (_T("canUnloadNow: lock count %ld"), lockCount)); return (lockCount == 0) ? S_OK : S_FALSE; }
extern "C" STDMETHODIMP DllCanUnloadNow(void) { return _Module.GetLockCount()==0 ? S_OK : S_FALSE; }
STDAPI DllCanUnloadNow(void) { IncludingDemo::Program::ATDeleteInstance; return (_Module.GetLockCount()==0) ? S_OK : S_FALSE; }
int CObjManApp::ExitInstance() { _Module.Term(); TRACE("Objektverwaltung wird entladen. Objekt-Count: %d\n", _Module.GetLockCount()); return CWinApp::ExitInstance(); }
STDAPI DllCanUnloadNow(void) { AFX_MANAGE_STATE(AfxGetStaticModuleState()); TRACE0("ScdIF : Calling AfxDllCanUnloadNow\n"); return (AfxDllCanUnloadNow()==S_OK && _Module.GetLockCount()==0) ? S_OK : S_FALSE; }