SPropValue
Hace referencia a: Outlook 2013 | Outlook 2016
Describe una propiedad MAPI.
Propiedad | Valor |
---|---|
Archivo de encabezado: |
Mapidefs.h |
Macros relacionadas: |
CHANGE_PROP_TYPE, MVI_PROP, PROP_ID, PROP_TAG, PROP_TYPE |
typedef struct _SPropValue
{
ULONG ulPropTag;
ULONG dwAlignPad;
union _PV Value;
} SPropValue, FAR *LPSPropValue;
Members
ulPropTag
Etiqueta de propiedad de la propiedad. Las etiquetas de propiedad son enteros de 32 bits sin signo que constan del identificador único de la propiedad en los 16 bits de orden alto y el tipo de la propiedad en los 16 bits de orden bajo.
dwAlignPad
Reservado para MAPI; no usar.
Valor
Unión de valores de datos, el valor específico determinado por el tipo de propiedad. En la tabla siguiente se enumeran para cada tipo de propiedad, el miembro de la unión que se debe usar y su tipo de datos asociado.
Tipo de propiedad | Valor | Tipo de datos de Value |
---|---|---|
PT_I2 o PT_SHORT |
i |
short int |
PT_I4 o PT_LONG |
l |
LARGO |
- |
Ul |
ULONG |
PT_R4 o PT_FLOAT |
Flt |
float |
PT_R8 o PT_DOUBLE |
Dbl |
double |
PT_BOOLEAN |
B |
unsigned short int |
PT_CURRENCY |
Cur |
CURRENCY |
PT_APPTIME |
en |
double |
PT_SYSTIME |
Pies |
FILETIME |
PT_STRING8 |
lpszA |
LPSTR |
PT_BINARY |
Bin |
BYTE [matriz] |
PT_UNICODE |
lpszW |
LPWSTR |
PT_CLSID |
lpguid |
LPGUID |
PT_I8 o PT_LONGLONG |
Li |
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 o PT_OBJECT |
x |
LARGO |
PT_PTR o PT_FILE_HANDLE |
Lpv |
VACÍO* |
Comentarios
El miembro ulPropTag se compone de dos partes:
Identificador de 16 bits de orden alto.
Tipo de 16 bits de orden bajo.
El identificador es un valor numérico dentro de un intervalo determinado. MAPI define intervalos de identificadores para describir para qué se usa la propiedad y quién es responsable de mantenerla. MAPI define restricciones para cada una de las etiquetas de propiedad que admite en el archivo de encabezado Mapitags.h.
El tipo indica el formato del valor de la propiedad. MAPI define constantes para cada uno de los tipos de propiedad que admite en el archivo de encabezado Mapidefs.h.
Para obtener una lista completa de los intervalos de propiedades válidos para identificadores y tipos de propiedad, consulte el apéndice Identificadores de propiedad y tipos .
El miembro dwAlignPad se usa como relleno para asegurarse de una alineación adecuada en equipos que requieren alineación de 8 bytes para los valores de 8 bytes. Los desarrolladores que escriben código en estos equipos deben usar rutinas de asignación de memoria que asignen las matrices SPropValue en límites de 8 bytes.
El SPropValue::ul
miembro no tiene ningún tipo de propiedad MAPI correspondiente, ya que el VT_UI4 de OLE no está asignado a MAPI. Para obtener más información, vea Información general sobre el tipo de propiedad MAPI y Actualización de propiedades MAPI.
Cuando el tipo de propiedad de un SPropValue indica PT_LONG, el miembro activo de la unión UPV es generalmente l
y el acceso ul
constituye un comportamiento indefinido según el estándar de C.