场景:
我正在尝试将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).这些视频帖子提供了更多信息: