HeavenLib.cpp
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:1k
源码类别:

模拟服务器

开发平台:

C/C++

  1. // HeavenLib.cpp: implementation of the CHeavenLib class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "HeavenLib.h"
  6. //////////////////////////////////////////////////////////////////////
  7. // Construction/Destruction
  8. //////////////////////////////////////////////////////////////////////
  9. CHeavenLib::CHeavenLib()
  10. : m_hHeaven(NULL), m_lpfnCreateInterface(NULL)
  11. {
  12. }
  13. CHeavenLib::~CHeavenLib()
  14. {
  15. }
  16. BOOL CHeavenLib::Initialize()
  17. {
  18. if (m_hHeaven)
  19. return FALSE;
  20. if (!(m_hHeaven = ::LoadLibrary(_T("heaven.dll"))))
  21. return FALSE;
  22. if (!(m_lpfnCreateInterface = (LPFNCREATEINTERFACE)GetProcAddress(m_hHeaven, "CreateInterface")))
  23. return FALSE;
  24. return TRUE;
  25. }
  26. BOOL CHeavenLib::Uninitialize()
  27. {
  28. m_lpfnCreateInterface = NULL;
  29. if (m_hHeaven)
  30. {
  31. ::FreeLibrary(m_hHeaven);
  32. m_hHeaven = NULL;
  33. }
  34. return TRUE;
  35. }
  36. HRESULT CHeavenLib::CreateInterface(REFIID riid, void** pp)
  37. {
  38. if (!m_lpfnCreateInterface)
  39. return -1;
  40. return m_lpfnCreateInterface(riid, pp);
  41. }