ncbi_dbapi.cpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:2k
源码类别:

生物技术

开发平台:

C/C++

  1. /*
  2.  * ===========================================================================
  3.  * PRODUCTION $Log: ncbi_dbapi.cpp,v $
  4.  * PRODUCTION Revision 1000.1  2004/06/01 17:37:08  gouriano
  5.  * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.3
  6.  * PRODUCTION
  7.  * ===========================================================================
  8.  */
  9. // ncbi_dbapi.cpp : Defines the initialization routines for the DLL.
  10. //
  11. #include "stdafx.h"
  12. #include <afxdllx.h>
  13. #include <dbapi/driver_mgr.hpp>
  14. #ifdef _DEBUG
  15. #define new DEBUG_NEW
  16. #undef THIS_FILE
  17. static char THIS_FILE[] = __FILE__;
  18. #endif
  19. static AFX_EXTENSION_MODULE Ncbi_dbapiDLL = { NULL, NULL };
  20. extern "C" int APIENTRY
  21. DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
  22. {
  23.     // Remove this if you use lpReserved
  24.     UNREFERENCED_PARAMETER(lpReserved);
  25.     if (dwReason == DLL_PROCESS_ATTACH)
  26.     {
  27.         TRACE0("NCBI_DBAPI.DLL Initializing!n");
  28.         
  29.         // Extension DLL one-time initialization
  30.         if (!AfxInitExtensionModule(Ncbi_dbapiDLL, hInstance))
  31.             return 0;
  32.         // Insert this DLL into the resource chain
  33.         // NOTE: If this Extension DLL is being implicitly linked to by
  34.         //  an MFC Regular DLL (such as an ActiveX Control)
  35.         //  instead of an MFC application, then you will want to
  36.         //  remove this line from DllMain and put it in a separate
  37.         //  function exported from this Extension DLL.  The Regular DLL
  38.         //  that uses this Extension DLL should then explicitly call that
  39.         //  function to initialize this Extension DLL.  Otherwise,
  40.         //  the CDynLinkLibrary object will not be attached to the
  41.         //  Regular DLL's resource chain, and serious problems will
  42.         //  result.
  43.         new CDynLinkLibrary(Ncbi_dbapiDLL);
  44.     }
  45.     else if (dwReason == DLL_PROCESS_DETACH)
  46.     {
  47.         // Terminate the library before destructors are called
  48.         TRACE0("NCBI_DBAPI.DLL Terminating!n");
  49.         AfxTermExtensionModule(Ncbi_dbapiDLL);
  50.     }
  51.     return 1;   // ok
  52. }