• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 一个简单的COM结构描术

一个简单的COM结构描术

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了com大王术,术是什么结构,术的结构,术字是什么结构,术字的结构等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 一个简单的COM结构描术
描述:

希望对大家有帮助 
#include "stdafx.h"
#include <unknwn.h>
using namespace std;
static const GUID IID_ILzy = {0x07758258,0x1234,0x1234,{0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08}};
 
interface ILzy : public IUnknown
{
public:
virtual int Add(int n1,int n2) = 0;
};
class CLzy : public ILzy
{
private:
ULONG m_cRef;
public:
STDMETHOD(QueryInterface)(REFIID riid,void **ppv);
STDMETHOD_(ULONG,AddRef)();
STDMETHOD_(ULONG,Release)();
int Add(int n1,int n2);
};
STDMETHODIMP CLzy::QueryInterface (REFIID riid,void **ppv)
{
if (riid == IID_ILzy)
*ppv = static_cast<ILzy*>(this);
else if(riid == IID_IUnknown)
*ppv = static_cast<CLzy*>(this);
else
{
*ppv = 0;
return E_NOINTERFACE;
}
reinterpret_cast<CLzy*>(*ppv)->AddRef();
return S_OK;
}
STDMETHODIMP_(ULONG) CLzy::AddRef ()
{
return ++m_cRef;
}
STDMETHODIMP_(ULONG) CLzy::Release ()
{
ULONG res = --m_cRef;
if(res == 0)
delete this;
return res;
}
int CLzy::Add (int n1,int n2)
{
return n1 + n2;
}
int _tmain(int argc, _TCHAR* argv[])
{
ILzy *pI = NULL;
CLzy *pL = new CLzy;
pL->QueryInterface (IID_ILzy,(void**)&pI);
if(pI)
cout << " 10 + 4 = " << pI->Add (10,4) << endl;
pI->Release ();
return 0;
}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 一个简单的COM结构描术

相关文章

  • 2017-06-05 程序中同时使用了msvcrtdlib和libclib出现错误
  • 2017-06-05 定时刷新屏幕的问题。
  • 2017-06-05 研究过隐藏进程的前辈请进,我有一段代码需要你的帮助,来者有分
  • 2017-06-04 请问学习vc++有浅到深的顺序,例如c++->MFC->ATL->com->NET?说明理由。
  • 2017-06-04 Com的问题
  • 2017-06-05 怎样判断word是否被加密?是WORD软件中设置的加密VC++,请附加代码!
  • 2017-06-04 一个关于excel问题的求助
  • 2017-06-05 请问如何异步弹出警告信息等窗口
  • 2017-06-05 刚学进程,一个简单的问题(有代码)
  • 2017-06-04 (500分求助!)***关于COM+EVENT***

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 请教一个有关线程的问题
    • 如何按进程名称关闭进程?
    • 线程间通信的问题
    • 如何在RichEdit里面插入AnimationGIF
    • 求助!!!我在VS2005XP平台下编译WTL71自带的Samples时,结果如下出错信息:不知道怎么解决!
    • 辅助线程如何访问主线程中的数据?
    • 特急请问如何屏蔽这个消息???
    • 请问一个注册ATL插件,但是在office的COM加载项中并没有出现该插件的问题
    • 在线等待关于queryinterface的问题
    • 怎样让COM接口返回自己定义的信息?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有