.idl文件解析

纵饮孤独 提交于 2019-12-07 10:27:10

1、以下是vs2015 ATL项目(名称为:atlib)生成的idl文件:
// atlib.idl : atlib的 IDL 源
//

// 此文件将由 MIDL 工具处理以
// 产生类型库(atlib.tlb)和封送处理代码。

import “oaidl.idl”;
import “ocidl.idl”;

[
object, //指明com对象
uuid(FCF44EA5-5E02-44CB-8531-06A1A9C24360), //接口的uuid
dual, //双重接口
nonextensible,
pointer_default(unique)
]
//接口定义
interface Ifcom : IDispatch{
[id(1)] HRESULT Add([in] LONG para1, [in] LONG para2, [out, retval] LONG* result); //接口函数
};

[
uuid(91EA5B3C-B774-4E24-BD20-21B191A1C131),
version(1.0),
] //atlib库的uuid

library atlibLib
{
importlib(“stdole2.tlb”);
[
uuid(4323D8F3-9C80-4AF2-9370-CC29A3F043B5)
] // fcom的clsid
coclass fcom //fcom组件
{
[default] interface Ifcom; //default默认接口
};
};
2、ProjectName.idl经过MIDL编译会形成ProjectName_i.h、ProjectName_i.c两个c++头文件,还有ProjectName.tlb类型库文件、DLLData.c、ProjectName_p.c、ProjectNamePS.MK文件。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!