Setting Description
VT_R4 Supported for all point types except for string points.  Note, value coercion may be required for 16-bit point types, which may force the coerced value to be of lowered precision or be out of range. In Integer point types, there will be truncation of the non-integer part.  Only positive values between 0 and 32,767 (endpoints inclusive) are supported in Int16 points.  For digital points, a positive numeric value is interpreted as an offset in its digital state set, a negative value is interpreted as an offset in the System Digital State Set.  For TimeStamp points, a numeric value is interpreted as UTC seconds since midnight Jan 1, 1970.
VT_R8 Supported for all point types except string points.  Note, value coercion may be required for 32-bit and 16-bit point types, which may force the coerced value to be of lowered precision or be out of range. In Integer point types, there will be truncation of the non-integer part.  Only positive values between 0 and 32,767 are supported in Int16 points.  For digital points, a numeric value is interpreted as an offset in its digital state set.  For TimeStamp points, a numeric value is interpreted as UTC seconds since midnight Jan 1, 1970.
VT_I2, VT_I4 Supported. Representation in a Float point type may be affected by the Float point's precision. For digital points, a positive numeric value is interpreted as an offset in its digital state set, a negative value is interpreted as an offset in the System Digital State Set.  For TimeStamp points, a numeric value is interpreted as UTC seconds since midnight Jan 1, 1970.
VT_BSTR Supported for all point types.  Note, value coercion may be required for numeric types with can result in lowered precision of the value.  For TimeStamp points, a string is parsed according to the time string parsing rules on the PI server.  See the PI Server Reference Guide for more information on valid PI Server time string representations.  For digital points, a positive numeric value is interpreted as an offset in its digital state set, a negative value is interpreted as an offset in the System Digital State Set.  For digital points, the string representation of a digital state, either system or for the point's own digital state set, can be passed to the PI SDK which will coerce the string into a DigitalState object.  For all other point types, if a non-numeric string is passed to a numeric point type, the PI SDK will attempt to coerce the string to a system DigitalState object only. 
VT_DATE, VT_CY Not supported, except for TimeStamp point types.  TimeStamp points will interpret a VARIANT containing a DATE (if type VT_DATE) or a UTCFileTime (if type VT_CY) as a numeric value.  A VT_DATE will be interpreted as a the number of fractional days since midnight Jan 1, 1900 and a VT_CY is interpreted as the number of 100-nanosecond intervals since midnight Jan 1, 1600 (a UTCFileTime).  Both time representations will be translated into UTC seconds since midnight Jan 1, 1970.
VT_DISPATCH, VT_UNKNOWN Supported, for all point types, if the VARIANT contains a reference to a DigitalState object in the System Digital State Set.  Digital points also accept a DigitalState object from their own digital state set.  Timestamp points will also accept references to PITime, PITimeFormat, and DynamicTime objects.
Enabling Operational Intelligence