www.pudn.com > rs232_moni.rar > GuiLib.cpp


//-----------------------------------------------------------------------// 
// This is a part of the GuiLib MFC Extention.							 //	 
// Autor  :  Francisco Campos											 // 
// (C) 2002 Francisco Campos  All rights reserved     // 
// This code is provided "as is", with absolutely no warranty expressed  // 
// or implied. Any use is at your own risk.								 //		 
// You must obtain the author's consent before you can include this code // 
// in a software library.												 // 
// If the source code in  this file is used in any application			 // 
// then acknowledgement must be made to the author of this program		 //	 
// fco_campos@tutopia.com													 // 
//-----------------------------------------------------------------------// 
 
#include "stdafx.h" 
#include  
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
 
static AFX_EXTENSION_MODULE GuiLibDLL = { NULL, NULL }; 
 
extern "C" int APIENTRY 
DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) 
{ 
	// Remove this if you use lpReserved 
	UNREFERENCED_PARAMETER(lpReserved); 
	 
	if (dwReason == DLL_PROCESS_ATTACH) 
	{ 
		TRACE0("GUILIB.DLL Initializing!\n"); 
		 
		// Extension DLL one-time initialization 
		if (!AfxInitExtensionModule(GuiLibDLL, hInstance)) 
			return 0; 
 
		// Insert this DLL into the resource chain 
		// NOTE: If this Extension DLL is being implicitly linked to by 
		//  an MFC Regular DLL (such as an ActiveX Control) 
		//  instead of an MFC application, then you will want to 
		//  remove this line from DllMain and put it in a separate 
		//  function exported from this Extension DLL.  The Regular DLL 
		//  that uses this Extension DLL should then explicitly call that 
		//  function to initialize this Extension DLL.  Otherwise, 
		//  the CDynLinkLibrary object will not be attached to the 
		//  Regular DLL's resource chain, and serious problems will 
		//  result. 
 
		new CDynLinkLibrary(GuiLibDLL); 
	} 
	else if (dwReason == DLL_PROCESS_DETACH) 
	{ 
		TRACE0("GUILIB.DLL Terminating!\n"); 
		// Terminate the library before destructors are called 
		AfxTermExtensionModule(GuiLibDLL); 
	} 
	return 1;   // ok 
}