关于ActiveX控件中IDL文件的理解整理

IDL的定义

idl(Interface   Defionition   Language),翻译过来就是接口定义语言

应用场景及作用

IDL文件主要定义两大类内容:一是定义接口;二是定义类型库。

定义接口的关键字是interface。每个接口定义前面方括号里面的内容是该接口的属性,最重要的是uuid的定义。该部分经过midl.exe编译后生成projectName_i.c和projectName_i.h文件,包含着接口本身(属性(uuid,helpstring等)和方法)的信息。该部分作用是定义接口。

定义类型库的关键字是library。一般一个com组件只有一个类型库。该部分包含了COM类的声明及它的接口声明。该部分被编译后生成类型库文件.tlb)。该部分作用是用于为客户端提供识别COM组件的接口、函数名、参数等信息。

IDL文件中的[]表示对一个接口,接口方法,接口属性,类型库,类的附加说明,也相当于属性设置。

[
object, //指明com对象
uuid(FCF44EA5-5E02-44CB-8531-06A1A9C24360), //接口的uuid
dual, //双重接口
nonextensible,
pointer_default(unique)
]

凡是接口,类型库和com类都需要定义它们的uuid值。
 

在visual   stidio用midl.exe(微软的编译器)来进行编译,主要用于跨语言之间的接口定义,可以通过idl定义一系列接口,然后用c++去实现,编译之后,可以用vb去使用,就是2进制代码的复用,主要在com技术中应用。

参考文章:

文章一

文章二

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值