COM 接口中的枚举何时应该具有 UUID?

问题描述

this Q/A 中,建议在 IDL 中为 COM 接口声明 uuid() 时使用 enum 属性,例如

typedef
[
    uuid(1a2b3d.....)
    v1_enum,helpstring("Icecream flavours")
]
enum {
    value_a,value_b,} MyEnum;

而在 this question of mine 中,答案没有为枚举使用 UUID。

我找不到关于这个主题的任何文档,所以我的问题是:这个 UUID 有什么作用吗?应该在什么情况下使用它?

额外的问题,枚举是否被typedef有什么区别吗? (似乎相同的属性可以出现在非 typedef 的枚举之前)。

我的用例是使用 C++ 作为实现语言制作与自动化兼容的 COM 服务器,并且我使用的是 Visual Studio 2019,版本 19.6.3。其中(与 Borland 的 COM 设计器不同)似乎没有用于向界面添加 enum 的 GUI 功能,因此我必须找出要键入的正确内容

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)