获取接口的三种方法

本文介绍了SolidWorks API中获取接口的三种方法:QueryInterface、层级访问和间接访问。QueryInterface用于在同一COM对象内访问接口,层级访问通过对象间的属性获取相关接口,而间接访问则适用于处理用户选择的元素对象,先获取SelectionMgr,再获取目标对象。
摘要由CSDN通过智能技术生成

SolidWorks API对象模型中提供了3种接口访问方法:

QueryInteface

是Com组件IUnknown接口中的之一,为COM组件提供接口相互访问功能,通过他可以访问组件内的任何接口。

//通过SldWorks获取当前文档的ModelDoc

CComPtr<IModelDoc2>pModel;

retval=m_iSldWorks->get_IActiveDoc2(&pModel);

ASSERT(pModel);

if(retval!=s_ok)

return ;

ccomPtr<IpartDOC>pPartDOC;

res=m_ModelDoc->QueryInterface(IID_IPartDoc,(LPVOID*)&pPartDoc);

ASSERT(pPartDoc)

if(retval!=s_ok)

return;

QueryInterface这种访问仅限于在同一个COM对象内

层级访问

如:SldWorks--ModelDoc--SelectionMgr

CComPtr<IModelDoc2>pModel;
retval=m_iSldWorks->get_IActiveDoc2(&pModel);
ASSERT(pModel);
if(retval!=S_OK)
return;
CComPtr<ISelectionMgr>pSelMgr;
retval=pModel->get_ISelectionManager(&pSelMgr);
ASSERT(retval !=S_OK)
re

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值