Referencing Properties by Namespace
Outlook Developer Reference |
This topic lists the namespaces that are supported by the PropertyAccessor, Table, View, and their children objects. The following table summarizes the namespaces and the Outlook objects that the namespaces support. Note that property references by namespaces are case-sensitive.
Namespaces | Supported Outlook Objects |
http://schemas.microsoft.com/mapi/proptag | Outlook item objects, AddressEntry, AddressList, Attachment, ExchangeDistributionList, ExchangeUser, Folder, Recipient, and Store objects. |
http://schemas.microsoft.com/mapi/id | (Same as above) |
http://schemas.microsoft.com/mapi/string | (Same as above) |
http://schemas.microsoft.com/exchange | (Same as above) |
urn:schemas-microsoft-com:office:office | Outlook item objects |
urn:schemas-microsoft-com:office:outlook | Outlook item objects |
DAV: | Outlook item objects |
urn:schemas:calendar | Outlook item objects |
urn:schemas:contacts | Outlook item objects |
urn:schemas:httpmail | Outlook item objects |
urn:schemas:mailheader | Outlook item objects |
Messaging Application Programming Interface (MAPI) Namespaces
The PropertyAccessor object supports three subnamespaces of the MAPI namespace:
proptag namespace
This namespace is used to access properties in the MAPI namespace using the property tag of a property. It supports only properties in the MAPI property range (that is, properties with a property identifier below 0x8000). The following is the format to reference a property in this namespace:
http://schemas.microsoft.com/mapi/proptag/0xHHHHHHHH
HHHHHHHH represents a hexadecimal property tag value, with a unique property identifier in the higher-order 16 bits, and a property type in the lower-order 16 bits. Every MAPI property must have a property tag, regardless of whether the property is defined by MAPI, Outlook, or a service provider. The hexadecimal value must follow the prefix "0x".
For example, the following represents the MAPI property PR_SUBJECT that Outlook exposes in its object model as Subject:
id namespace
This namespace is used to access properties in a namespace identified by the globally unique identifier (GUID) of the namespace, using the identifier of the property. The following is the format to reference a property in this namespace:
http://schemas.microsoft.com/mapi/id/{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH}/HHHHHHHH
{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH} represents the namespace GUID, and HHHHHHHH represents the property tag.
For example, the following represents the Outlook NoAging property:
http://schemas.microsoft.com/mapi/id/{00062008-0000-0000-C000-000000000046}/850E000B
string namespace
This namespace is used to access string-named properties in an identified namespace. The following is the format to reference a property in this namespace:
http://schemas.microsoft.com/mapi/string/{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH}/*name*
{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH} represents the namespace GUID, and name is the local property name defined as a string.
The following is an example that uses this namespace:
http://schemas.microsoft.com/mapi/string/{00020386-0000-0000-C000-000000000046}/content-class
Exchange Namespace
The exchange namespace is used to access string-named Exchange properties. The following is the format to reference a property in this namespace:
http://schemas.microsoft.com/exchange/*name*
name is the local property name defined as a string.
The following is an example of a property referenced by this namespace:
http://schemas.microsoft.com/exchange/readreceiptrequested
Office Namespaces
The PropertyAccessor object supports two Office subnamespaces:
Office namespace
This namespace is used to access properties of the DocumentItem object. The following is the format to reference a property in this namespace:
urn:schemas-microsoft-com:office:office#name
name is the local property name defined as a string.
The following are some examples of referencing DocumentItem properties using the Office namespace:
- urn:schemas-microsoft-com:office:office#Subject
- urn:schemas-microsoft-com:office:office#Template
Outlook namespace
This namespace is used to access Outlook item-level properties. Similar to other namespaces that support property referencing, use this namespace to access Outlook properties that are not explicitly exposed in the object model. The following is the format to reference a property in this namespace:
urn:schemas-microsoft-com:office:outlook#name
name is the local property name defined as a string.
The following is an example of referencing an Outlook item-level property using the Outlook namespace:
urn:schemas-microsoft-com:office:outlook#remotemessagesize
Distributed Authoring and Versioning (DAV) Namespaces
DAV namespaces are used to access Outlook item-level properties. A property in a DAV namespace is scoped using a Uniform Resource Identifier (URI) namespace reference. The format is a concatenation of the namespace URI prefix and the local property name expressed in a string, with the namespace URI being either a Uniform Resource Name (URN) or Uniform Resource Locator (URL).
The following are the DAV namespaces that the PropertyAccessor object supports:
- DAV:
- urn:schemas:calendar
- urn:schemas:contacts
- urn:schemas:httpmail
- urn:schemas:mailheader
These are some examples of properties being referenced by different DAV namespaces:
- DAV:checkintime
- urn:schemas:httpmail:subject
- urn:schemas:mailheader:subject