This documentation is archived and is not being maintained.


This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Describes a named property.

Header file:


typedef struct _MAPINAMEID
  LPGUID lpguid;
  ULONG ulKind;
    LONG lID;
    LPWSTR lpwstrName;
  } Kind;


Pointer to a GUID structure defining a particular property set; this member cannot be NULL. Valid values are as follows:



A client-defined value


Value describing the type of value in the Kind member. Valid values are as follows:


The Kind member contains an integer value that represents the property name.


The Kind member contains a Unicode character string representing the property name.


Union describing the name of the named property. The name can be either an integer value, stored in lID, or a Unicode character string, stored in lpwstrName.

The MAPINAMEID structure is used to describe named properties properties that have identifiers over 0x8000. A property set is an important part 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 namespace 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 do not have to use named properties and can save the associated overhead.

For more information about named properties, see Named Properties.