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文件。
来源:CSDN
作者:fmingzh
链接:https://blog.csdn.net/misterfm/article/details/80223187