NetTS.cpp
上传用户:nameszq
上传日期:2014-08-12
资源大小:336k
文件大小:2k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. // NetTS.cpp : Defines the initialization routines for the DLL.
  2. //
  3. #include "stdafx.h"
  4. #include <afxdllx.h>
  5. #include "TSWnd.h"
  6. #include "TWSocket.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. static AFX_EXTENSION_MODULE NetTSDLL = { NULL, NULL };
  13. HINSTANCE g_hNetTSInstance;
  14. HINSTANCE AfxGetModuleHandle()
  15. {
  16. return g_hNetTSInstance;
  17. }
  18. CString AfxModuleLoadString( UINT nID )
  19. {
  20. HINSTANCE hInstanceOld = AfxGetResourceHandle();
  21. AfxSetResourceHandle( AfxGetModuleHandle() );
  22. CString string;
  23. string.LoadString( nID );
  24. AfxSetResourceHandle( hInstanceOld );
  25. return string;
  26. }
  27. extern "C" int APIENTRY
  28. DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
  29. {
  30. // Remove this if you use lpReserved
  31. UNREFERENCED_PARAMETER(lpReserved);
  32. if (dwReason == DLL_PROCESS_ATTACH)
  33. {
  34. TRACE0("NETTS.DLL Initializing!n");
  35. // Extension DLL one-time initialization
  36. if (!AfxInitExtensionModule(NetTSDLL, hInstance))
  37. return 0;
  38. // Insert this DLL into the resource chain
  39. // NOTE: If this Extension DLL is being implicitly linked to by
  40. //  an MFC Regular DLL (such as an ActiveX Control)
  41. //  instead of an MFC application, then you will want to
  42. //  remove this line from DllMain and put it in a separate
  43. //  function exported from this Extension DLL.  The Regular DLL
  44. //  that uses this Extension DLL should then explicitly call that
  45. //  function to initialize this Extension DLL.  Otherwise,
  46. //  the CDynLinkLibrary object will not be attached to the
  47. //  Regular DLL's resource chain, and serious problems will
  48. //  result.
  49. new CDynLinkLibrary(NetTSDLL);
  50. g_hNetTSInstance = hInstance;
  51. AfxSetResourceHandle( hInstance );
  52. AfxGetQSProfile().LoadProfile();
  53. CTWSocket::Init( );
  54. }
  55. else if (dwReason == DLL_PROCESS_DETACH)
  56. {
  57. CTWSocket::GetInstance().EndWorking();
  58. CTWSocket::Release( );
  59. TRACE0("NETTS.DLL Terminating!n");
  60. // Terminate the library before destructors are called
  61. AfxTermExtensionModule(NetTSDLL);
  62. }
  63. return 1;   // ok
  64. }