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