• 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接口定义,主板com接口定义,usb接口定义,db9接口定义,micro usb接口定义等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 关于定义COM接口的初级问题
描述:

请问以下两种定义方式有什么不同,为什么只有地2种方式才能在MFC对话框程序中应用?
第一种:
  DEFINE_GUID(IID_ISimpleMath,
0x7c8027ea, 0xa4ed, 0x467c, 0xb1, 0x7e, 0x1b, 0x51, 0xce, 0x74, 0xaf, 0x57);
#undef  INTERFACE
#define INTERFACE   IID_ISimpleMath
DECLARE_INTERFACE_(IHXTOutputProfile, IHXTConfigurationAgent)
第二种:
static const GUID IID_ISimpleMath = 
{ 0x7c8027ea, 0xa4ed, 0x467c, { 0xb1, 0x7e, 0x1b, 0x51, 0xce, 0x74, 0xaf, 0x57 } };
//{CA3B37EA-E44A-49b8-9729-6E9222CAE84F}
static const GUID IID_IAdvancedMath = 
{ 0xca3b37ea, 0xe44a, 0x49b8, { 0x97, 0x29, 0x6e, 0x92, 0x22, 0xca, 0xe8, 0x4f } };
interface ISimpleMath : public IUnknown


解决方案1:

DEFINE_GUID要和initguid.h一起用
参考http://ms.mblogger.cn/eyes4/posts/6286.aspx

解决方案2:

第一种:可以在MFC对话框程序中应用
只要在程序中加
#include  <comdef.h>
----------------------------------------------------------------------
DEFINE_GUID 的定义在objbase.h中,它的定义为
#ifndef INITGUID
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
    EXTERN_C const GUID FAR name
#else
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
        EXTERN_C const GUID name \
                = { l, w1, w2, { b1, b2,  b3,  b4,  b5,  b6,  b7,  b8 } }
#endif // INITGUID


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

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

  • 请问,COM接口是否可以传递自己定义的结构?
  • 如何在COM接口中把自定义的类型传递出来使用?
  • COM定义接口的问题
  • com中指针定义
  • com接口传递自定义结构体数组。
  • 如何在com接口方法中传递自定义参数,如枚举
  • 怎样让COM接口返回自己定义的信息?
  • 在com+中如何在各层之间传递自定义数据
  • COM接口的定义(奇怪的错误,请高手指点)
  • COM的接口一般要定义两次,这样为什么不会造做成重定义?

相关文章

  • 2017-06-04 大家都来调试这段让你意想不到的代码
  • 2017-06-04 实在没有办法了,MapX移动地图时候,怎么能够让其一次性显示,现在显示都是一层一层的!
  • 2017-06-05 在多处理器的计算机上开发多线程程序要注意些什么?
  • 2017-06-05 IE中调用MFC写的ocx控件时为什么不调用OnCreate?
  • 2017-06-04 组件的创建问题
  • 2017-06-04 最近开发用到了MicrosoftdatagridActiveX控件,找不到指南,所以希望各位前辈能够提供个指南或以前的书籍名称
  • 2017-06-04 请大侠帮忙!!先用shellexecute打开一个文件,在关闭此文件时如何删除它??
  • 2017-06-05 如果知道windows启动了屏幕保护程序
  • 2017-06-05 怎么按照COM的格式写一个DLL呢?
  • 2017-06-05 socket的关闭问题

文章分类

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

最近更新的内容

    • VCMAPX图层问题
    • 怎么用VC编写ZPLii语言
    • 真见鬼,我要如何在我的idl文件中支持HTREEITEM数据类型呢?
    • 后台要长时间进行数据处理,如何加上进度条,不使界面象死了一样
    • 极具难度的编译错误,Errorexecuting~vcecho!Creating
    • 用EVC创建DLL时怎么不让给定义别名?如:加下划线前缀
    • 关于CreateFile以及CreateProcess的问题
    • 请问如何用VC编程实现将一个C++类映射转换为Com组件?
    • 自己做的Activex控件如何同外部程序交换数据??
    • MFC编写exe,调用了ATL编写的COMDLL,为什么接口变化之后,在开发环境中反映不出来,但不影响使用。详情请进

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

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