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::GetTypeInfoCount(UINT __RPC_FAR *pctinfo)
  22. {
  23. return S_FALSE;
  24. }        
  25. STDMETHODIMP MyLog::GetTypeInfo( 
  26. UINT iTInfo,
  27. LCID lcid,
  28. ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo)
  29. {
  30. return S_FALSE;
  31. }        
  32. STDMETHODIMP MyLog::GetIDsOfNames( 
  33.   REFIID riid,
  34.   LPOLESTR __RPC_FAR *rgszNames,
  35.   UINT cNames,
  36.   LCID lcid,
  37.   DISPID __RPC_FAR *rgDispId)
  38. {
  39. return S_FALSE;
  40. }        
  41. STDMETHODIMP MyLog::Invoke( 
  42.    DISPID dispIdMember,
  43.    REFIID riid,
  44.    LCID lcid,
  45.    WORD wFlags,
  46.    DISPPARAMS __RPC_FAR *pDispParams,
  47.    VARIANT __RPC_FAR *pVarResult,
  48.    EXCEPINFO __RPC_FAR *pExcepInfo,
  49.    UINT __RPC_FAR *puArgErr)
  50. {
  51. CFile f;
  52. CFileException ex;
  53. f.Open("./log.txt",CFile::modeCreate| CFile::modeReadWrite,&ex);
  54. CString str(pDispParams->rgvarg[0].bstrVal);
  55. f.Write(str.GetBuffer(100),str.GetLength());
  56. ::SysFreeString(pDispParams->rgvarg[0].bstrVal);
  57. f.Close();
  58. return S_OK;
  59. }        
  60. STDMETHODIMP MyLog::QueryInterface( 
  61.    REFIID riid,
  62.    void __RPC_FAR *__RPC_FAR *ppvObject)
  63. {
  64.     *ppvObject=this;
  65. return S_OK;
  66. }        
  67. STDMETHODIMP_(ULONG) MyLog::AddRef( void)
  68. {
  69. return 1;
  70. }
  71. STDMETHODIMP_(ULONG) MyLog::Release( void)
  72. {
  73. return 1;
  74. }