SPropValue

The SPropValue structure describes a MAPI property.

Syntax

typedef struct _SPropValue { 
  ULONG ulPropTag; 
  ULONG dwAlignPad; 
  union _PV Value; 
} SPropValue, FAR *LPSPropValue; 

Members

  • ulPropTag
    Property tag for the property. Property tags are 32-bit unsigned integers consisting of the property's unique identifier in the high-order 16 bits and the property's type in the low-order 16 bits.
  • dwAlignPad
    Reserved for MAPI; do not use.
  • Value
    Union of data values, the specific value dictated by the property type. For each property type, the following table lists the member of the union that should be used and its associated data type.
    Property type Value Data type of value
    PT_I2 or PT_SHORT i short int
    PT_I4 or PT_LONG (signed) l LONG
    PT_I4 or PT_LONG (unsigned) ul ULONG
    PT_R4 or PT_FLOAT flt float
    PT_R8 or PT_DOUBLE dbl double
    PT_BOOLEAN b unsigned short int
    PT_CURRENCY cur CURRENCY
    PT_APPTIME at double
    PT_SYSTIME ft FILETIME
    PT_STRING8 lpszA LPSTR
    PT_BINARY bin SBinary
    PT_UNICODE lpszW LPWSTR
    PT_CLSID lpguid LPGUID
    PT_I8 or PT_LONGLONG li LARGE_INTEGER
    PT_MV_I2 MVi SShortArray
    PT_MV_LONG MVl SLongArray
    PT_MV_R4 MVflt SRealArray
    PT_MV_DOUBLE MVdbl SDoubleArray
    PT_MV_CURRENCY MVcur SCurrencyArray
    PT_MV_APPTIME MVat SAppTimeArray
    PT_MV_SYSTIME MVft SDateTimeArray
    PT_MV_BINARY MVbin SBinaryArray
    PT_MV_STRING8 MVszA SLPSTRArray
    PT_MV_UNICODE MVszW SWStringArray
    PT_MV_CLSID MVguid SGuidArray
    PT_MV_I8 MVli SLargeIntegerArray
    PT_ERROR err SCODE
    PT_NULL or PT_OBJECT x LONG

Remarks

The ulPropTag member is made up of an identifier in the high-order 16 bits and a type in the low-order 16 bits.

The identifier is a numeric value within a particular range. MAPI defines ranges for identifiers to describe what the property is used for and who is responsible for maintaining it. In the MAPITAGS.H header file, MAPI defines constraints for each of the property tags that it supports.

The type indicates the format for the property's value. In the MAPIDefs.h header file, MAPI defines constants for each of the property types that it supports.

The dwAlignPad member is used as padding to ensure proper alignment on computers that require 8-byte alignment for 8-byte values. Developers who write code on such computers should use memory allocation routines that allocate the SPropValue arrays on 8-byte boundaries.

Requirements

Pocket PC: Windows Mobile 2002 and later
OS Versions: Windows CE 3.0 and later
Header: mapidefs.h

See Also

MAPI Structures

Messaging

CHANGE_PROP_TYPE

MVI_PROP ****

PROP_ID

PROP_TAG ****

PROP_TYPE

Send feedback on this topic to the authors.

© 2005 Microsoft Corporation. All rights reserved.