COM基础扫盲,各种零星记录

9 篇文章 0 订阅

首先承认COM是过时的技术,但程序猿不应该太纠结于这些,养家糊口而已,每个人的情况不一样,求不喷。

1,idl接口描述文件,

<span style="font-size:14px;">[
		object,
		uuid(AEE20538-F825-44EB-85F0-B06D28DD4687),
		dual,
		nonextensible,
		helpstring("IQueryFilter 接口"),
		pointer_default(unique)
	]
	interface IQueryFilter : IDispatch{
		[propget, helpstring("属性 WhereClause")] HRESULT WhereClause([out, retval] BSTR* pVal);
		[propput, helpstring("属性 WhereClause")] HRESULT WhereClause([in] BSTR newVal);
		[propget, helpstring("属性 SubFields")] HRESULT SubFields([out, retval] BSTR* pVal);
		[propput, helpstring("属性 SubFields")] HRESULT SubFields([in] BSTR newVal);
		[propget, helpstring("属性 SubFieldCount")] HRESULT SubFieldCount([out, retval] LONG* pVal);
		[propget, helpstring("属性 Field")] HRESULT Field([in]LONG nIndex,[out, retval] BSTR* pVal);
		[, helpstring("方法 AddField")] HRESULT AddField([in]BSTR newVal,[out,retval]VARIANT_BOOL*pVal);
		[propget, id(1), helpstring("属性GeometryWkt")] HRESULT GeometryWkt([out, retval] BSTR* pVal);
		[propput, id(1), helpstring("属性GeometryWkt")] HRESULT GeometryWkt([in] BSTR newVal);
		[propget, id(2), helpstring("属性GeometryType")] HRESULT GeometryType([out, retval] LONG* pVal);
		[propput, id(2), helpstring("属性GeometryType")] HRESULT GeometryType([in] LONG newVal);
	};</span>


 

 

另外有一个接口的函数用到该接口,参数如果写成这样,,,, [in] IQueryFilter* queryFilter,,,,。。。则CoClass类QueryFilter在客户端变为了queryFilter。之前死活找不到原因在哪里,后来改为了,,,, [in] IQueryFilter* queryFilter2,,,,。。。又恢复为QueryFilter,所以说参数影响了组件类的名称,原因目前未知,望知道的朋友给我说一下,idl真心弱爆了!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值