安全转换_variant_t

时间:2013-04-03 13:07:33

标签: c++ com variant

我需要在_variant_t和long \ bool_bstr_t等类型之间执行安全转换。

有很多选择可以做到这一点,但我迷失在(糟糕的)文档中。 例如,转换为long: 选项1:检查变量类型是否为long(== VT_I4),如果是,则执行静态强制转换。 选项2:使用提取器,我不完全理解。 MSDN说如果VARIANT不是正确的类型,VariantChangeType用于尝试转换。但是VariantChangeType如果失败则返回错误代码。我在哪里可以获得此错误代码?返回类型应该是我们提取的类型不应该吗?

我很欣赏最安全的解决方案和各种选项的解释。

0 个答案:

没有答案