Пример #1
0
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();
}
Пример #2
0
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;
}
Пример #5
0
STDAPI DllCanUnloadNow(void)
{
#ifdef _MERGE_PROXYSTUB
    if (S_OK != PrxDllCanUnloadNow())
        return S_FALSE;
#endif

    return _Module.GetLockCount() ? S_FALSE : S_OK;
}
Пример #6
0
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;  
}
Пример #7
0
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;
    }
}
Пример #8
0
STDAPI DllCanUnloadNow(void) {
	return (_Module.GetLockCount()==0) ? S_OK : S_FALSE;
}
Пример #9
0
STDAPI DllCanUnloadNow(void)
{
    ATLTRACE("DllCanUnloadNow\n");

    return (_Module.GetLockCount()==0) ? S_OK : S_FALSE;
}
Пример #10
0
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; 
}
Пример #11
0
extern "C" STDMETHODIMP DllCanUnloadNow(void)
{
    return _Module.GetLockCount()==0 ? S_OK : S_FALSE;
}
Пример #12
0
STDAPI DllCanUnloadNow(void)
{
	IncludingDemo::Program::ATDeleteInstance;
    return (_Module.GetLockCount()==0) ? S_OK : S_FALSE;
}
Пример #13
0
int CObjManApp::ExitInstance()
{
	_Module.Term();
	TRACE("Objektverwaltung wird entladen. Objekt-Count: %d\n", _Module.GetLockCount());
	return CWinApp::ExitInstance();
}
Пример #14
0
STDAPI DllCanUnloadNow(void)
{
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
  	TRACE0("ScdIF : Calling AfxDllCanUnloadNow\n");
    return (AfxDllCanUnloadNow()==S_OK && _Module.GetLockCount()==0) ? S_OK : S_FALSE;
}