Безопасное преобразование _variant_t

Мне нужно выполнить безопасное преобразование между _variant_t и типом, например long \ bool_bstr_t и т. Д.

Есть много вариантов сделать это, но я заблудился в (плохой) документации.
Например, для преобразования в long:
Вариант 1. Проверьте, является ли тип варианта длинным (== VT_I4), и если это так, выполните статическое приведение.
Вариант 2: использовать экстрактор, который я не до конца понимаю. В MSDN говорится, что если VARIANT уже не является надлежащим типом, VariantChangeType используется для попытки преобразования. Однако VariantChangeType возвращает код ошибки, если это не удается. Где я могу получить этот код ошибки? Возвращаемый тип должен быть того типа, который мы извлекаем, не так ли?

Буду признателен за наиболее безопасное решение и объяснение различных вариантов.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]