MyLog.cpp
上传用户:weisheen
上传日期:2022-07-09
资源大小:19390k
文件大小:1k
- // MyLog.cpp: implementation of the MyLog class.
- //
- //////////////////////////////////////////////////////////////////////
- #include "stdafx.h"
- #include "test.h"
- #include "MyLog.h"
- #ifdef _DEBUG
- #undef THIS_FILE
- static char THIS_FILE[]=__FILE__;
- #define new DEBUG_NEW
- #endif
- #include "../DemoIUnknown_i.c"
- //////////////////////////////////////////////////////////////////////
- // Construction/Destruction
- //////////////////////////////////////////////////////////////////////
- MyLog::MyLog()
- {
- ilisongtao=0;
- }
- MyLog::~MyLog()
- {
- }
- STDMETHODIMP MyLog::writeLog( BSTR message)
- {
- CFile f;
- CFileException ex;
- f.Open("./log.txt",CFile::modeCreate| CFile::modeReadWrite,&ex);
- CString str(message);
- f.Write(str.GetBuffer(100),str.GetLength());
- ::SysFreeString(message);
- f.Close();
- return S_OK;
- }
- STDMETHODIMP MyLog::QueryInterface(REFIID riid, void __RPC_FAR *__RPC_FAR *ppvObject)
- {
- if(riid==IID_ILog)
- {
- *ppvObject=(ILog*)this;
- this->AddRef();
- return S_OK;
- }
- else if(riid==IID_IUnknown)
- {
- *ppvObject=(IUnknown*)this;
- this->AddRef();
- return S_OK;
- }
- else
- {
- *ppvObject=NULL;
- return S_FALSE;
- }
- }
- STDMETHODIMP_(ULONG) MyLog::AddRef()
- {
- return this->ilisongtao++;
- }
- STDMETHODIMP_(ULONG) MyLog::Release()
- {
- this->ilisongtao--;
- if(this->ilisongtao==0)
- {
- delete this;
- }
- return this->ilisongtao;
- }