ExtendedFieldURI
Topic Last Modified: 2007-07-31
The ExtendedFieldURI element identifies an extended MAPI property.
Syntax
<ExtendedFieldURI DistinguishedPropertySetId="" PropertySetId="" PropertyTag="" PropertyName="" PropertyId="" PropertyType="" />
Type
PathToExtendedFieldType
Attributes and Elements
The following sections describe attributes, child elements, and parent elements.
Attributes
Attribute | Description |
---|---|
DistinguishedPropertySetId |
Defines the well-known property set IDs for extended MAPI properties. If this attribute is used, the PropertySetId and PropertyTag attributes cannot be used. This attribute must be used with either the PropertyId or PropertyName attribute, and the PropertyType attribute. The DistinguishedPropertySetId Attribute table later in this topic lists the possible values for this attribute. This attribute is optional. |
PropertySetId |
Identifies a MAPI extended property set or namespace by its identifying GUID. If this attribute is used, the DistinguishedPropertySetId and PropertyTag attribute cannot be used. This attribute must be used with either the PropertyId or PropertyName attribute, and the PropertyType attribute. This attribute is optional. |
PropertyTag |
Identifies the property tag without the type part of the tag. The PropertyTag can be represented as either a hexadecimal or a short integer. The range between 0x8000 and 0xFFFE represents the custom range of properties. When a mailbox database encounters a custom property for the first time, it assigns that custom property a property tag within the custom property range of 0x8000-0xFFFE. A given custom property tag will most likely differ across databases. Therefore, a custom property request by property tag can return different properties on different databases. The use of the PropertyTag attribute is prohibited for custom properties. Instead, use the PropertySetId attribute and the PropertyName or PropertyId attribute.
Important:
Access any custom property between 0x8000 and 0xFFFE by using the GUID + name/ID.
If the PropertyTag attribute is used, the DistinguishedPropertySetId, PropertySetId, PropertyName, and PropertyId attributes cannot be used. This attribute is optional.
Note:
You cannot use a property tag attribute for properties within the custom range 0x8000-0xFFFE. You must use a named property in this case.
|
PropertyName |
Identifies an extended property by its name. This property must be coupled with either DistinguishedPropertySetId or PropertySetId. If this attribute is used, the PropertyId and PropertyTag attributes cannot be used. This attribute is optional. |
PropertyId |
Identifies an extended property by its dispatch ID. The dispatch ID can be identified in either decimal or hexadecimal formats. This property must be coupled with either DistinguishedPropertySetId or PropertySetId. If this attribute is used, the PropertyName and PropertyTag attributes cannot be used. This attribute is optional. |
PropertyType |
Represents the property type of a property tag. This corresponds to the least significant word in a property tag. The PropertyType Attribute table later in this topic contains the possible values for this attribute. This attribute is required. |
DistinguishedPropertySetId Attribute
Value | Description |
---|---|
Meeting |
Identifies the meeting property set ID by name. |
Appointment |
Identifies the appointment property set ID by name. |
Common |
Identifies the common property set ID by name. |
PublicStrings |
Identifies the public strings property set ID by name. |
Address |
Identifies the address property set ID by name. |
InternetHeaders |
Identifies the Internet headers property set ID by name. |
CalendarAssistant |
Identifies the calendar assistant property set ID by name. |
UnifiedMessaging |
Identifies the unified messaging property set ID by name. |
PropertyType Attribute
Value | Description |
---|---|
ApplicationTime |
A double value that is interpreted as a date and time. The integer part is the date and the fraction part is the time. |
ApplicationTimeArray |
An array of double values that are interpreted as a date and time. |
Binary |
A Base64-encoded binary value. |
BinaryArray |
An array of Base64-encoded binary values. |
Boolean |
A Boolean true or false. |
CLSID |
A GUID string. |
CLSIDArray |
An array of GUID strings. |
Currency |
A 64-bit integer that is interpreted as the number of cents. |
CurrencyArray |
An array of 64-bit integers that are interpreted as the number of cents. |
Double |
A 64-bit floating-point value. |
DoubleArray |
An array of 64-bit floating-point values. |
Error |
SCODE value; 32-bit unsigned integer. Not used for restrictions or for getting/setting values. This exists only for reporting. |
Float |
A 32-bit floating-point value. |
FloatArray |
An array of 32-bit floating-point values. |
Integer |
A signed 32-bit (Int32) integer. |
IntegerArray |
An array of signed 32-bit (Int32) integers. |
Long |
A signed or unsigned 64-bit (Int64) integer. |
LongArray |
An array of signed or unsigned 64-bit (Int64) integers. |
Null |
Indicates no property value. Not used for restrictions or for getting/setting values. This exists only for reporting. |
Object |
A pointer to an object that implements the IUnknown interface. Not used for restrictions or for getting/setting values. This exists only for reporting. |
ObjectArray |
An array of pointers to objects that implement the IUnknown interface. Not used for restrictions or for getting/setting values. This exists only for reporting. |
Short |
A signed 16-bit integer. |
ShortArray |
An array of signed 16-bit integers. |
SystemTime |
A 64-bit integer data and time value in the form of a FILETIME structure. |
SystemTimeArray |
An array of 64-bit integer data and time values in the form of a FILETIME structure. |
String |
A Unicode string. |
StringArray |
An array of Unicode strings. |
Child Elements
None.
Parent Elements
Element | Description |
---|---|
Identifies extended properties on folders and items. |
|
Identifies additional properties. The following are the XPath expressions to this element:
|
|
Represents an update to a single property of an item in an UpdateItem Operation. |
|
Represents an update to a single property on a folder in an UpdateFolder Operation. |
|
Represents a delete operation for deleting a given property from an item during an UpdateItem Operation. |
|
Represents a delete operation for deleting a given property from a folder during an UpdateFolder call. |
|
Identifies data to append to a single property of an item during an UpdateItem Operation. |
|
Specifies data to append to a folder property during an UpdateFolder Operation. |
|
Represents a search expression that returns true if the supplied property exists on an item. |
|
Represents either a property or a constant value to be used when comparing with another property. |
|
Represents a search expression that compares a property with either a constant value or another property and evaluates to true if they are equal. |
|
Represents a search expression that compares a property with either a constant value or another property and returns true if the first property is greater. |
|
Represents a search expression that compares a property with either a constant value or another property and returns true if the first property is greater than or equal to the second. |
|
Represents a search expression that compares a property with either a constant value or another property and returns true if the first property is less than the second. |
|
Represents a search expression that compares a property with either a constant value or another property and returns true if the first property is less than the second. |
|
Represents a search expression that compares a property with either a constant value or another property and returns true if the values are not the same. |
|
Performs a bitwise mask of the properties. |
|
Represents a search expression that determines whether a given property contains the supplied constant string value. |
|
Represents a single field by which to sort results and indicates the direction for the sort. |
Remarks
Some attributes cannot be used in combination with other attributes. Any request that comes in with an invalid combination of extended property attributes will generate an error message.
The schema that describes this element is located in the EWS virtual directory of the computer that is running Microsoft Exchange Server 2007 that has the Client Access server role installed.
Note
In Microsoft .NET, a Long is a 64-bit signed integer, while in MAPI and COM, a Long is a 32-bit integer. Most developers will use the Microsoft.NET Framework to develop Exchange Web Services client applications. Therefore, the .NET naming is used instead of the MAPI naming. For example, the PR_MESSAGE_FLAGS MAPI property, 0x0E07, is a PT_LONG type. In .NET, this is considered an integer. An extended property for PR_MESSAGE_FLAGS is defined as <t:ExtendedFieldURI PropertyTag="0x0E07" PropertyType="Integer"/>.
Example
The following example of a request creates an item that has two custom properties. The first custom property is named IsMyHouse with a Boolean value set to true. The second custom extended property is named HousePrices. It contains an array of Currency values.
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
<soap:Body>
<CreateItem xmlns="https://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types"
MessageDisposition="SaveOnly">
<SavedItemFolderId>
<t:DistinguishedFolderId Id="inbox"/>
</SavedItemFolderId>
<Items>
<t:Item>
<t:ItemClass>IPM.Note</t:ItemClass>
<t:Subject>Create an extended property</t:Subject>
<t:Body BodyType="Text">Added info to extended props</t:Body>
<t:ExtendedProperty>
<t:ExtendedFieldURI DistinguishedPropertySetId="PublicStrings"
PropertyName="IsMyHouse"
PropertyType="Boolean"/>
<t:Value>true</t:Value>
</t:ExtendedProperty>
<t:ExtendedProperty>
<t:ExtendedFieldURI DistinguishedPropertySetId="PublicStrings"
PropertyName="HousePrices"
PropertyType="CurrencyArray"/>
<t:Values>
<t:Value>30000000</t:Value>
<t:Value>40000000</t:Value>
<t:Value>50000000</t:Value>
</t:Values>
</t:ExtendedProperty>
</t:Item>
</Items>
</CreateItem>
</soap:Body>
</soap:Envelope>
Element Information
Namespace |
https://schemas.microsoft.com/exchange/services/2006/types |
Schema Name |
Types schema |
Validation File |
Types.xsd |
Can be Empty |
False |
See Also