从 WinRT C++组件访问 COM 对象

Accessing COM Object from WinRT C++ Component

本文关键字:COM 对象 访问 组件 WinRT C++      更新时间:2023-10-16

我想编写一个访问我的COM对象的WinRT(C++(组件。 为此,我需要COM对象接口定义,因此我将#importraw_interfaces_only

一起使用例如

#import "libid:ee10004c-2d77-4289-bb93-d6def17881dd" raw_interfaces_only

问题是我在自动生成的.tlh文件上收到以下错误:

fatal error C1075: '{': no matching token found

相同的代码在常规窗口控制台应用程序中工作正常。

根据此链接,WinRT 支持COM 消费,因此不清楚如何将我的接口导入 WinRT C++ 项目。

如何将我的 COM 接口定义导入我的 WinRT C++项目?

使用 midl.exe(包含在 Visual Studio 中(我能够生成一个 .H 文件,其中包含所有定义并在 WinRT 组件中编译良好。

midle.exe myinterface.idl

此生成可包含在 WinRT 项目中的头文件。