SPropValue

适用于:Outlook 2013 | Outlook 2016

描述 MAPI 属性。

属性
标头文件:
Mapidefs.h
相关宏:
CHANGE_PROP_TYPEMVI_PROPPROP_IDPROP_TAGPROP_TYPE
typedef struct _SPropValue
{
  ULONG ulPropTag;
  ULONG dwAlignPad;
  union _PV Value;
} SPropValue, FAR *LPSPropValue;

Members

ulPropTag

属性的属性标记。 属性标记是 32 位无符号整数,由属性在高序 16 位中的唯一标识符和低序 16 位的属性类型组成。

dwAlignPad

为 MAPI 保留;请勿使用。

数据值的并集,即属性类型指定的特定值。 下表列出了每种属性类型、应使用的联合的成员及其关联的数据类型。

属性类型 Value 的数据类型
PT_I2或PT_SHORT

short int
PT_I4或PT_LONG
l

-
Ul
ULONG
PT_R4或PT_FLOAT
外语
float
PT_R8或PT_DOUBLE
dbl
double
PT_BOOLEAN
B
unsigned short int
PT_CURRENCY
当前
CURRENCY
PT_APPTIME

double
PT_SYSTIME
英尺
FILETIME
PT_STRING8
lpszA
LPSTR
PT_BINARY

BYTE [array]
PT_UNICODE
lpszW
LPWSTR
PT_CLSID
lpguid
LPGUID
PT_I8或PT_LONGLONG

LARGE_INTEGER
PT_MV_I2
MVi
SShortArray
PT_MV_LONG
MVI
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或PT_OBJECT
x

PT_PTR或PT_FILE_HANDLE
lpv
无效*

备注

ulPropTag 成员由两部分组成:

  • 高序 16 位中的标识符。

  • 低序 16 位中的类型。

标识符是特定范围内的数值。 MAPI 定义标识符的范围,用于描述属性的用途以及负责维护该属性的人员。 MAPI 为 Mapitags.h 头文件中支持的每个属性标记定义约束。

类型指示属性值的格式。 MAPI 为 Mapidefs.h 头文件中支持的每个属性类型定义常量。

有关标识符和属性类型的有效属性范围的完整列表,请参阅 属性标识符和类型 附录。

dwAlignPad 成员用作填充,以确保在需要对 8 字节值进行 8 字节对齐的计算机上正确对齐。 在此类计算机上编写代码的开发人员应使用内存分配例程,这些例程在 8 字节边界上分配 SPropValue 数组。

成员 SPropValue::ul 没有相应的 MAPI 属性类型,因为 OLE 的VT_UI4未映射到 MAPI。 有关详细信息,请参阅 MAPI 属性类型概述更新 MAPI 属性。 当 SPropValue 的属性类型指示PT_LONG时,UPV 联合的活动成员通常 l为 ,并且根据 C 标准,访问 ul 构成未定义的行为。

另请参阅

MAPI 结构