資源簡介
使用MFC實現簡單的COM,演示了整個COM構成,注釋清晰。

代碼片段和文件信息
#include?“StdAfx.h“
#include?“AnimalObj.h“
#include?
using?namespace?std;
//支持動態創建
IMPLEMENT_DYNCREATE(CAnimalObj?CCmdTarget)
//定義本組件ClassFactory
//?{49DC8329-D2EB-440c-BCF6-AA9CAA583DE1}
IMPLEMENT_OLECREATE(CAnimalObj?“CAnimalObj.object“?
0x4DDDE51A?0x2252?0x4EFC?0x94?0x54?0xC5?0x74?0xEB?0xC4?0x14?0x8A);
//接口查詢表
BEGIN_INTERFACE_MAP(CAnimalObj?CCmdTarget)
INTERFACE_PART(CAnimalObj?IID_ICat?Cat)
INTERFACE_PART(CAnimalObj?IID_IDog?Dog)
END_INTERFACE_MAP()
CAnimalObj::CAnimalObj(void)
{
}
CAnimalObj::~CAnimalObj(void)
{
}
//接口查詢和生命周期管理
STDMETHODIMP_(ULONG)?CAnimalObj::XCat::AddRef()
{
METHOD_PROLOGUE_EX_(CAnimalObj?Cat)
return?pThis->ExternalAddRef();
}
STDMETHODIMP_(ULONG)?CAnimalObj::XCat::Release()
{
METHOD_PROLOGUE_EX_(CAnimalObj?Cat)
return?pThis->ExternalRelease();
}
STDMETHODIMP_(HRESULT)?CAnimalObj::XCat::QueryInterface(REFIID?iid?LPVOID*?ppvObj)
{
METHOD_PROLOGUE_EX_(CAnimalObj?Cat)
return?pThis->ExternalQueryInterface(&iid?ppvObj);
}
STDMETHODIMP_(ULONG)?CAnimalObj::XDog::AddRef()
{
METHOD_PROLOGUE_EX_(CAnimalObj?Dog)
return?pThis->ExternalAddRef();
}
STDMETHODIMP_(ULONG)?CAnimalObj::XDog::Release()
{
METHOD_PROLOGUE_EX_(CAnimalObj?Dog)
return?pThis->ExternalRelease();
}
STDMETHODIMP_(HRESULT)?CAnimalObj::XDog::QueryInterface(REFIID?iid?LPVOID*?ppvObj)
{
METHOD_PROLOGUE_EX_(CAnimalObj?Dog)
return?pThis->ExternalQueryInterface(&iid?ppvObj);
}
//接口實現
STDMETHODIMP_(void)?CAnimalObj::XCat::SayHello(LPCWSTR?szWord)
{
wcout?<}
STDMETHODIMP_(void)?CAnimalObj::XDog::SayHello(LPCWSTR?szWord)
{
wcout?<}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-07-16?16:22??MFCba
?????目錄???????????0??2016-07-16?16:22??MFCba
?????文件????????1355??2016-07-08?11:55??MFCba
?????文件???????48640??2016-07-16?16:21??MFCba
?????文件?????????751??2016-07-08?12:13??MFCba
?????文件????????1785??2016-07-08?12:17??MFCba
?????文件?????????676??2016-07-08?11:43??MFCba
?????文件???????18952??2016-07-08?15:30??MFCba
?????文件????????2484??2016-07-07?19:24??MFCba
?????文件?????????228??2016-07-07?19:24??MFCba
?????文件?????????419??2016-07-07?19:24??MFCba
?????文件?????????261??2016-07-07?21:03??MFCba
?????文件????????3122??2016-07-07?19:24??MFCba
?????文件????????5859??2016-07-07?21:37??MFCba
?????文件????????1401??2016-07-16?16:21??MFCba
?????文件????????1529??2016-07-08?12:14??MFCba
?????文件????????1714??2016-07-08?12:14??MFCba
?????文件????????2245??2016-07-07?19:24??MFCba
?????目錄???????????0??2016-07-16?16:21??MFCba
?????文件?????????366??2016-07-07?19:24??MFCba
?????文件?????????366??2016-07-07?19:24??MFCba
?????文件?????????141??2016-07-07?19:24??MFCba
?????文件????????1131??2016-07-07?19:24??MFCba
?????文件????????1030??2016-07-07?19:24??MFCba
?????目錄???????????0??2016-07-16?16:22??MFCba
?????文件?????????751??2016-07-08?12:13??MFCba
?????文件????????1650??2016-07-08?11:52??MFCba
?????文件?????????390??2016-07-08?11:52??MFCba
?????文件?????????212??2016-07-08?11:52??MFCba
?????文件?????????813??2016-07-08?11:52??MFCba
?????文件????????1026??2016-07-08?11:52??MFCba
............此處省略5個文件信息
評論
共有 條評論