资源简介
使用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 << L“喵~ 猫大王发话: “ << szWord << endl;
}
STDMETHODIMP_(void) CAnimalObj::XDog::SayHello(LPCWSTR szWord)
{
wcout << L“汪~ 狗大王发话: “ << szWord << endl;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 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个文件信息
相关资源
- 基于MFC的TCP调试助手源码95706
- 基于mfc的多线程文件传输
- MFC数字钟(基于VC6.0)
- VC++MFC小游戏实例教程(实例)+MFC类库
- ChartCtrl控件库(可在VS2019中使用)
- 商品库存管理系统 C++ MFC
- com组件(共907页)
- mfc 调用redis
- MFC视频播放器源码(支持avi/wma/mp3等格
- mfc绘图大全(画直线、矩形、椭圆)
- MFC控件重绘
- hook,捕获所有案件,查找所有窗口,
- (学习)VS2010之MFC入门到精通教程
- MFC文档_视图_框架_模板结构体系深入
- 简单员工管理系统(适合初学MFC)
- MFC五子棋游戏
- MFC UDP编程
- MFC的异步网络通讯应用程序
- MX Component V4编程手册
- C++MFC模块讲解,黑发程序员课程整理
- 一个简单而强大的基于MFC的web server源
- c++调用C# COM 参数是结构体数组
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- C++17 The Complete Guide
- MFCaccess.rar
- VC++MFC课程设计的学生成绩管理系统
- MFC 日历控件 万年历 Calendar自绘
- CrystalDiskInfo-HDD/SSD硬盘信息,SMART信息
- MFC自定义界面HUI,高效简单,含详细
- OpenCV Computer Vision Application Programming
评论
共有 条评论