SysBaseModule.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. // dllmain.cpp : 定义 DLL 应用程序的入口点。
  2. #include "pch.h"
  3. #include "CBaseGloabl.h"
  4. //////////////////////////////////////////////////////////////////////////
  5. CBaseGloabl* g_pBaseGloabl = NULL;
  6. HMODULE g_hDllModule = NULL;
  7. //#pragma comment(linker, "/EXPORT:DllRegisterServer=_DllRegisterServer@0,PRIVATE")
  8. //#pragma comment(linker, "/EXPORT:DllUnregisterServer=_DllUnregisterServer@0,PRIVATE")
  9. //
  10. //
  11. //
  12. //STDAPI DllRegisterServer(void)
  13. //{
  14. // HRESULT hr = S_OK;
  15. //
  16. //
  17. // return hr;
  18. //}
  19. //
  20. //
  21. //STDAPI DllUnregisterServer(void)
  22. //{
  23. // HRESULT hr = S_OK;
  24. //
  25. //
  26. // return hr;
  27. //}
  28. SYSMODULE IBaseGloablModule* WINAPI GetBaseGlobalInstance()
  29. {
  30. if (!g_pBaseGloabl)
  31. g_pBaseGloabl = new CBaseGloabl;
  32. g_pBaseGloabl->AddRef();
  33. return g_pBaseGloabl;
  34. }
  35. SYSMODULE BOOL WINAPI ReleaseBaseGlobalInstance()
  36. {
  37. if (!g_pBaseGloabl)
  38. return FALSE;
  39. if (g_pBaseGloabl->Release() == 0)
  40. {
  41. g_pBaseGloabl = NULL;
  42. }
  43. return TRUE;
  44. }
  45. BOOL APIENTRY DllMain( HMODULE hModule,
  46. DWORD ul_reason_for_call,
  47. LPVOID lpReserved
  48. )
  49. {
  50. switch (ul_reason_for_call)
  51. {
  52. case DLL_PROCESS_ATTACH:
  53. {
  54. g_hDllModule = (HMODULE)hModule;
  55. }
  56. case DLL_THREAD_ATTACH:
  57. case DLL_THREAD_DETACH:
  58. case DLL_PROCESS_DETACH:
  59. break;
  60. }
  61. return TRUE;
  62. }