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

标签 c++ uwp com windows-runtime c++-winrt

我想编写一个访问我的 COM 对象的 WinRT (C++) 组件。
为了做到这一点,我需要 COM 对象接口(interface)定义,所以我使用 #importraw_interfaces_only
例如

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

问题是我在自动生成 .tlh 文件中收到以下错误:
fatal error C1075: '{': no matching token found

相同的代码在常规 Windows 控制台应用程序中运行良好。

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

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

最佳答案

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

midle.exe myinterface.idl

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

关于c++ - 从 WinRT C++ 组件访问 COM 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59543906/

相关文章:

c++ - Qt Action 不会连接到插槽

c++ - std::chrono 的频率?

c# - 在 UWP 中检测空闲用户

winapi - CreateStdDispatch 如何知道要调用哪个方法?

c++ - COM IContextMenu::InvokeCommand - 匹配 LPCMINVOKECOMMANDINFO::lpVerb 到项目

c++ - 图像卷积与高斯模糊,加速可能吗?

c++ - 如何将对象传递给c++中的函数?

c# - 从源代码管理丢失后如何生成新的 .pfx 文件?

C# 通用应用程序 : automatically scroll to bottom of textbox after setting new text programmatically

c++ - 调试在 dllhost.exe 中运行的 inproc com 服务器