Microsoft Exchange Server Property Types

The following table describes Microsoft Exchange Server property types that are supported by MAPI.

Property Type Multivalued Type Underlying Data Type
PT_APPTIME PT_MV_APPTIME Double. Interpreted as date and time. Same as OLE type VT_DATE and compatible with the Visual Basic time representation.
PT_BINARY PT_MV_BINARY SBinary. Counted byte array.
PT_BOOLEAN PT_MV_12 16-bit Boolean. 0 = FALSE, nonzero = TRUE. Same as OLE type VT_BOOL.
PT_CLSID PT_MV_CLSID CLSID structure. Class identifier. VT_CLSID.
PT_CURRENCY PT_MV_CURRENCY 64-bit integer intepreted as decimal. Compatible with Visual Basic CURRENCY type. Same as OLE type VT_CY.
PT_DOUBLE PT_MV_DOUBLE Double. 64-bit floating point, PT_R4. Same as OLE type VT_R8.
PT_ERROR (None) SCODE, 32-bit unsigned integer. Same as OLE type VT_ERROR.
PT_FLOAT PT_MV_FLOAT 32-bit floating point, PT_R4. Same as OLE type VT_R4.
PT_I2 PT_MV_I2 Signed 16-bit integer, PT_SHORT. Same as OLE type VT_I2.
PT_I4 PT_MV_I4 Signed or unsigned 32-bit integer. Same as OLE type VT_I4. Same as PT_LONG.
PT_I8 PT_MV_I8 Signed or unsigned 64-bit integer. Same as OLE type VT_I8. Uses the structure LARGE_INTEGER.
PT_LONG PT_MV_LONG Signed or unsigned 32-bit integer, PT_I4. Same as OLE type VT_I4.
PT_LONGLONG PT_MV_LONGLONG Signed or unsigned 64-bit integer, PT_I8. Same as OLE type VT_I8.
PT_NULL (None) Indicates no property value. Same as OLE type VT_NULL. Reserved for interface use.
PT_OBJECT (None) A pointer to an object that implements the WIN32 IUnknown interface. Similar to several OLE types, including VT_UNKNOWN.
PT_R4 PT_MV_R4 4-byte floating-point data. Same as OLE type VT_R4.
PT_R8 PT_MV_R8 8-byte floating-point data. Same as OLE type VT_DOUBLE.
PT_SHORT PT_MV_SHORT Signed 16-bit integer, PT_SHORT. Same as OLE type VT_I2.
PT_STRING8 PT_MV_STRING8 Null-terminated 8-bit character string data. Same as OLE type VT_LPSTR.
PT_SYSTIME PT_MV_SYSTIME 64-bit integer. Date and time values in the form of a MAPI FILETIME structure. Same as OLE type VT_FILETIME.
PT_TSTRING PT_MV_TSTRING Set to PT_UNICODE when compiling with the UNICODE symbol; else PT_STRING8. Either the OLE type VT_LPSTR or VT_LPWSTR.
PT_UNICODE PT_MV_UNICODE Null-terminated wide-string data. Same as OLE type VT_LPWSTR.
PT_UNSPECIFIED (Not supported) Indicates that the client application does not supply the property type. Reserved for interface use.