MyLog.cpp
上传用户:weisheen
上传日期:2022-07-09
资源大小:19390k
文件大小:2k
源码类别:

ActiveX/DCOM/ATL

开发平台:

Visual C++

  1. // MyLog.cpp: implementation of the MyLog class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "test.h"
  6. #include "MyLog.h"
  7. #ifdef _DEBUG
  8. #undef THIS_FILE
  9. static char THIS_FILE[]=__FILE__;
  10. #define new DEBUG_NEW
  11. #endif
  12. //////////////////////////////////////////////////////////////////////
  13. // Construction/Destruction
  14. //////////////////////////////////////////////////////////////////////
  15. MyLog::MyLog()
  16. {
  17. }
  18. MyLog::~MyLog()
  19. {
  20. }
  21. STDMETHODIMP MyLog::WriteLog(BSTR message)
  22. {
  23. CString msg(message);
  24. ::SysFreeString(message);
  25. AfxMessageBox(msg);
  26. return S_OK;
  27. }        
  28. STDMETHODIMP MyLog::GetTypeInfoCount(UINT __RPC_FAR *pctinfo)
  29. {
  30. return S_FALSE;
  31. }        
  32.      
  33. STDMETHODIMP MyLog::GetTypeInfo( 
  34.    UINT iTInfo,
  35.    LCID lcid,
  36.    ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo)
  37. {
  38. return S_FALSE;
  39. }        
  40. STDMETHODIMP MyLog::GetIDsOfNames( 
  41.  REFIID riid,
  42.  LPOLESTR __RPC_FAR *rgszNames,
  43.  UINT cNames,
  44.  LCID lcid,
  45.  DISPID __RPC_FAR *rgDispId)
  46. {
  47. return S_FALSE;
  48. }        
  49. STDMETHODIMP MyLog::Invoke( 
  50.   DISPID dispIdMember,
  51.   REFIID riid,
  52.   LCID lcid,
  53.   WORD wFlags,
  54.   DISPPARAMS __RPC_FAR *pDispParams,
  55.   VARIANT __RPC_FAR *pVarResult,
  56.   EXCEPINFO __RPC_FAR *pExcepInfo,
  57.   UINT __RPC_FAR *puArgErr)
  58. {
  59. if(dispIdMember==1)
  60. {
  61. BSTR bBuffer=::SysAllocString(pDispParams->rgvarg[0].bstrVal);
  62. SysFreeString(pDispParams->rgvarg[0].bstrVal);
  63. return this->WriteLog(bBuffer);
  64. }
  65. else
  66. {
  67. *puArgErr=1;
  68. return S_FALSE;
  69. }
  70. }        
  71. STDMETHODIMP MyLog::QueryInterface( 
  72.   REFIID riid,
  73.   void __RPC_FAR *__RPC_FAR *ppvObject)
  74. {
  75. return S_FALSE;
  76. }        
  77. STDMETHODIMP_(ULONG) MyLog::AddRef( void)
  78. {
  79. return 1;
  80. }
  81. STDMETHODIMP_(ULONG) MyLog::Release( void)
  82. {
  83. return 1;
  84. }