VARIANT (VARIANTARG) is a special type that is a union of different types. VARIANTs can contain most primitive data types, strings, and arrays, but not fixed-length String data type and user-defined data types (也就是说用户自定义的类,以及BSTR等类是不能用VARIANT表示的)
One benefit of using VARIANTs is that Automation servers can perform type coercion(类型强制转换)to interact with typeless languages. (typeless language在某些方面的确是非常方便呀,感觉ms目前也是越来越重视这个方向了)