Platform SDK: MAPI

MAPINAMEID

The MAPINAMEID structure is used to describe a named property.

Quick Info

Header file: MAPIDEFS.H

typedef struct _MAPINAMEID 
{ 
     LPGUID lpguid; 
     ULONG  ulKind; 
     union 
     { 
          LONG    lID; 
          LPWSTR  lpwstrName; 
     } Kind; 
} MAPINAMEID, FAR *LPMAPINAMEID; 
 

Members

lpguid
Pointer to a GUID structure defining a particular property set; this member cannot be NULL. Valid values are:
PS_PUBLIC_STRINGS
PS_MAPI
A client-defined value
ulKind
Value describing the type of value in the Kind member. Valid values are:
MNID_ID
The Kind member contains an integer value representing the property name.
MNID_STRING
The Kind member contains a Unicode character string representing the property name.
Kind
Union describing the name of the named property. The name can either be an integer value, stored in lID, or a Unicode character string, stored in lpwstrName.

Remarks

The MAPINAMEID structure is used to describe named properties — properties that have identifiers over 0x8000. A property set is an integral part of a named property. For example PS_PUBLIC_STRINGS or PS_ROUTING_ADDRTYPE are property sets defined by MAPI.

Named properties enable clients to define custom properties in a larger name space than is available in the MAPI-defined property identifier range. Property names cannot be used to obtain property values directly; they must first be mapped to property identifiers through the IMAPIProp::GetIDsFromNames method. For particular objects such as messages, MAPI reserves a range of property identifiers for custom properties. Therefore, for these objects, clients need not use named properties and can save the associated overhead.

For more information about named properties, see Named Properties.

See Also

ID Structures, GUID, IMAPIProp::GetIDsFromNames