请教C#与COM传参问题

长风破浪会有时1999 2018-12-07 06:37:19
ISldWorks是三维软件的COM接口,在ATL中用以下方式获取:
ISldWorks swApp;
HRESULT hres = swApp.CoCreateInstance(__uuidof(SldWorks), NULL, CLSCTX_LOCAL_SERVER);

在C#中,用以下方式获取:
swApp = (SldWorks)Marshal.GetActiveObject("SldWorks.Application");

我想问,如果我想在C#中获取ISldWorks,传给ATL项目,两端分别改用什么类型的参数呢?
...全文
124 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
调试成功,再次感谢版主!
  • 打赏
  • 举报
回复
引用 1 楼 蒋晟 的回复:
直接像Marshal.GetActiveObject那样传object ATL这边参数类型用IUnknown,收到之后再QueryInterface。
先谢谢版主,我试试先!
蒋晟 2018-12-07
  • 打赏
  • 举报
回复
直接像Marshal.GetActiveObject那样传object ATL这边参数类型用IUnknown,收到之后再QueryInterface。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧