List of Property Types

MAPI supports both single-valued and multivalued properties. With a single-valued property, there is one value of the base type for the property. With a multivalued property, there are multiple values of the base type.

The single-valued and multivalued property types that are supported by MAPI are described as follows. For each single-valued type that has a corresponding multivalued type, the multivalued type appears in parentheses after the single-valued type.

PT_APPTIME (PT_MV_APPTIME)
Double value that is interpreted as date and time. The integer part is the date and the fraction part is the time. This property type is the same as the OLE type VT_DATE and is compatible with the Visual Basic time representation.
PT_BINARY (PT_MV_BINARY)
SBinary structure value, a counted byte array.
PT_BOOLEAN (PT_MV_12)
16-bit Boolean value where zero equals FALSE and non-zero equals TRUE. This property type is the same as the OLE type VT_BOOL.
PT_CLSID (PT_MV_CLSID)
CLSID structure value. This property type is the same as the OLE type VT_CLSID.
PT_CURRENCY (PT_MV_CURRENCY )
64-bit integer intepreted as decimal. This property type is compatible with the Visual Basic CURRENCY type and is the same as the OLE type VT_CY.
PT_DOUBLE (PT_MV_DOUBLE)
Double value; 64-bit floating point value. This property type is the same as PT_R8 and the OLE type VT_R8.
PT_ERROR
SCODE value; 32-bit unsigned integer. This property type is the same as the OLE type VT_ERROR.
PT_FLOAT (PT_MV_FLOAT)
32-bit floating point value. This property type is the same as PT_R4 and the OLE type VT_R4.
PT_I2 (PT_MV_I2)
Signed 16-bit integer. This property type is the same as PT_SHORT and the OLE type VT_I2.
PT_I4 (PT_MV_I4)
Signed or unsigned 32-bit integer. This property type is the same as PT_LONG and the OLE type VT_I4.
PT_I8 (PT_MV_I8)
Signed or unsigned 64-bit integer that uses the LARGE_INTEGER structure. This property type is the same as the OLE type VT_I8.
PT_LONG (PT_MV_LONG)
Signed or unsigned 32-bit integer. This property type is the same as PT_I4 and the OLE type VT_I4.
PT_LONGLONG (PT_MV_LONGLONG)
Signed or unsigned 64-bit integer. This property type is the same as PT_I8 and the OLE type VT_I8.
PT_NULL
Indicates no property value. This property type is reserved for use with interface methods and is the same as the OLE type VT_NULL.
PT_OBJECT
Pointer to an object that implements the IUnknown interface. This property type is similar to several OLE types such as VT_UNKNOWN.
PT_R4 (PT_MV_R4)
4-byte floating point value. This property type is the same as the OLE type VT_R4.
PT_R8 (PT_MV_R8)
8-byte floating point value. This property type is the same as the OLE type VT_DOUBLE.
PT_SHORT (PT_MV_SHORT)
Signed 16-bit integer. This property type is the same as PT_SHORT and the OLE type VT_I2.
PT_STRING8 (PT_MV_STRING8)
Null-terminated 8-bit character string. This property type is the same as the OLE type VT_LPSTR.
PT_SYSTIME (PT_MV_SYSTIME)
64-bit integer data and time value in the form of a FILETIME structure. This property type is the same as the OLE type VT_FILETIME.
PT_TSTRING (PT_MV_TSTRING)
Properties with this type have the property type reset to PT_UNICODE when compiling with the UNICODE symbol and to PT_STRING8 when not compiling with the UNICODE symbol. This property type is the same as the OLE type VT_LPSTR for resulting PT_STRING8 properties and VT_LPWSTR for PT_UNICODE properties
PT_UNSPECIFIED
Indicates that the property type is unknown. This property type is reserved for use with interface methods.