IDL文件模版

来源:互联网 发布:微整形后遗症知乎 编辑:程序博客网 时间:2024/05/02 04:57

<span style="font-family: Arial, Helvetica, sans-serif;">上周接触了COM,并且自己照着别人的代码仿照了几个COM,记录一下IDL文件的规则,做一个模版方便以后再写</span>
<span style="font-family: Arial, Helvetica, sans-serif;"></span>
// complete IXXX.idl fileimport "oaidl.idl";import "ocidl.idl";cpp_quote("#ifndef _Included_IXXX_idl_")cpp_quote("#define _Included_IXXX_idl_")cpp_quote("#endif // _Included_IXXX_idl_")// Interface IXXX[    object,    uuid(......),    helpstring("IXXX Interface"),    pointer_default(unique),]interface ICmrCaContextMenuModel : IUnknown{    HRESULT FunctionName(        [in] TypeName in_parameter,        [out, retval] TypeName out_and_retval_parameter    );        ......}[    uuid(......)]library YYYYLib{      [        uuid(......)    ]        coclass CYYYY    {         interface IYYYY;    }};

除此之外,还要设置一下工程属性,否则MIDL生成的.h文件将会带有_i,如果在其他COM中包含该COM,会导致无法找到.h文件

Project->Setting->MIDL->Output->Header File->去掉_i

或者

右击工程->Properties->MIDL->Output->Header File->去掉_i

0 0