加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – WinRT / Metro Style App中基于ATL的COM对象

发布时间:2020-12-16 07:31:26 所属栏目:百科 来源:网络整理
导读:场景: 我正在尝试将C应用程序迁移到WinRT / Metro Style.此应用程序使用ATL / COM对象,该对象使用类 IDispatchImpl实现IDispatch接口,但是,根据MSDN IDispatchImpl不适用于Metro Style应用程序. 我的ATL / COM类看起来像这样: class MyATLClass : public I
场景:
我正在尝试将C应用程序迁移到WinRT / Metro Style.此应用程序使用ATL / COM对象,该对象使用类 IDispatchImpl实现IDispatch接口,但是,根据MSDN IDispatchImpl不适用于Metro Style应用程序.

我的ATL / COM类看起来像这样:

class MyATLClass :
    public IDispatchImpl<IMyDispInterface,&IID_IMyDispInterface,&LIBID_MYLIB,1,0>,public CComObjectRoot,public CComCoClass<MyATLClass,&CLSID_MyATLClass>
{
    ...
}

题:
WinispT中是否有替代IDispatchImpl?

替换可能涉及从不同的类派生并丢弃我的IDL文件.我的最终目标是能够在MyATLClass的实例上执行QueryInterface并通过IMyDispInterface获取引用.我还可以在一个项目中包含我的所有文件(库和应用程序),但我确实希望避免更改使用IMyDispInterface引用的代码(如果可能).

解决方法

重新实现我的COM / ATL类作为基于WRL的组件可能是这种情况下的最佳选择(感谢Larry).这些视频帖子提供了更多信息:

Porting a desktop app to a Metro style app

The Windows Runtime Library (WRL)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读