Send Feedback

The SPropValue structure describes a MAPI property.


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


  • 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 more information on the set of union members, see MAPI Property Data Types.


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.


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

See Also

MAPI Structures | Messaging


Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.