C#可以访问继承自IUnknown接口的com吗?

yiyuefanxing 2012-06-13 11:27:24
一个c++写的com,继承自Iunknown接口,而不是IDispatch,
c#可以调用这个com吗?
c#中的ComInterfaceType枚举又是干什么的?
如果在声明com的时候,声明成InterfaceIsIUnknown,是说原始的com是继承自Iunknown接口吗?
...全文
147 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
WAN 2012-06-13
  • 打赏
  • 举报
回复
这样啊,这个以前还真没注意到
yiyuefanxing 2012-06-13
  • 打赏
  • 举报
回复
明白了。
c#是否可以调用com不在于这个com是继承自IDispatch还是IUnknown,
而在于接口定义前有没有id号,如下:
interface IMyComServer : IUnknown{
[id(1)] HRESULT MyCOMServerMethod(void);
这样的com c#就可以访问。
WAN 2012-06-13
  • 打赏
  • 举报
回复
1、没实际试过,但应该是可以的,毕竟C#又不是不支持指针,如不支持的话,岂不太弱了
2、这个用于指示C#导出到COM时的接口类型,也就是说是在用C#写COM组件时用的。而C#导入COM的时候还有一个TypeLibType特性和TypeLibTypeFlags枚举
3、是只支持IUnknown,如上面所说,是C#导出到COM的接口类型

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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