ATL-based COM objects in WinRT / Metro Style application

Scenario:
I am trying to port a C ++ application to WinRT / Metro Style. This application uses an ATL / COM object that implements the IDispatch interface using the IDispatchImpl class, however, according to MSDN, IDispatchImpl is not available for the Metro Style application.

My ATL / COM class is as follows:

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

Question:
Is there a replacement in WinRT for IDispatchImpl?

Replacing may include getting from different classes and dropping my IDL file, for example. My ultimate goal is to simply execute QueryInterface on an instance of MyATLClass and get the link through IMyDispInterface. I can also include all my files (library and application) in one project, but I want to avoid changing the code where IMyDispInterface links are used, if possible.

+4
source share
1 answer

Reimplementing my COM / ATL class as a WRL-based component is probably the best choice in this scenario (thanks Larry). Additional information is provided on these video messages:

Porting a desktop app to a Metro style app

Windows Runtime Library (WRL)

+2
source

All Articles