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

模拟服务器

开发平台:

C/C++

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