Providers are required to support the following data type conversions:
Support for additional conversions is optional and might result in truncation of data or a conversion error. The consumer can determine what conversions a provider supports by calling IConvertType::CanConvert with the indicators for the “to” and “from” types. If a provider offers additional functions that the consumer can call to convert data types, these functions are described in a type library pointed to by the PROVIDER_TYPES schema rowset.
For more information about how data is converted, see "Data Type Conversion Rules" in Appendix A.