1.1 Glossary

This document uses the following terms:

ASCII: The American Standard Code for Information Interchange (ASCII) is an 8-bit character-encoding scheme based on the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that work with text. ASCII refers to a single 8-bit ASCII character or an array of 8-bit ASCII characters with the high bit of each character set to zero.

Attachment object: A set of properties that represents a file, Message object, or structured storage that is attached to a Message object and is visible through the attachments table for a Message object.

Augmented Backus-Naur Form (ABNF): A modified version of Backus-Naur Form (BNF), commonly used by Internet specifications. ABNF notation balances compactness and simplicity with reasonable representational power. ABNF differs from standard BNF in its definitions and uses of naming rules, repetition, alternatives, order-independence, and value ranges. For more information, see [RFC5234].

base property type: The type of the property, if the property is single-valued, or the type of an element of the property, if the property is multi-valued.

best body: The text format that provides the richest representation of a message body. The algorithm for determining the best-body format is described in [MS-OXBBODY].

camel-cased: The capitalization style applied to compound words or phrases when they are joined without spaces and the first letter of each word, except the first word, is capitalized within the compound. For example, displayName is camel-cased.

change number: A number that identifies a version of a messaging object. A change number is identical in format to a message ID (MID) or folder ID (FID).

checkpoint ICS state: An Incremental Change Synchronization (ICS) state that is provided by a server in the middle of an ICS operation, which reflects the state of the local replica, indicated by the initial ICS state, after applying all differences transmitted in the ICS operation.

code page: An ordered set of characters of a specific script in which a numerical index (code-point value) is associated with each character. Code pages are a means of providing support for character sets and keyboard layouts used in different countries. Devices such as the display and keyboard can be configured to use a specific code page and to switch from one code page (such as the United States) to another (such as Portugal) at the user's request.

common byte stack: A list of arrays of bytes. Byte values of contained arrays, when together in their natural order, represent common high-order bytes of GLOBCNT values. Common byte stacks are used in a last-in first-out (LIFO) fashion during serialization or deserialization of GLOBSETs.

conflict detection: A process that is used to determine whether two versions of the same object conflict with each other, that is, one is not a direct or indirect predecessor of another.

conflict handling: One or more actions that are taken upon detection of a conflict between versions of the same object. These actions include conflict reporting and conflict resolution.

conflict reporting: An automated process that notifies a system actor of a previously detected conflict.

conflict resolution: An automated or semi-automated process that is used to resolve a previously detected conflict between versions of an object. The process replaces conflicting versions with a successor version. How a successor version relates to a conflicting version depends on the algorithm that is used.

content synchronization: The process of keeping synchronized versions of Message objects and their properties on a client and server.

deleted item list: An abstract repository of information about deleted items.

Deleted Items folder: A special folder that is the default location for objects that have been deleted.

Embedded Message object: A Message object that is stored as an Attachment object within another Message object.

enterprise/site/server distinguished name (ESSDN): An X500 DN that identifies an entry in an abstract naming scheme that is separate from an address book. The naming scheme defines enterprises, which contain sites, and sites contain servers and users. There is no concrete data structure that embodies an ESSDN. Instead, an address book entry can contain an ESSDN as a property of the entry.

EntryID: A sequence of bytes that is used to identify and access an object.

expired Message object: A Message object that was removed by a server due to the age of the Message object.

external identifier: A globally unique identifier for an entity that represents either a foreign identifier or an internal identifier. It consists of a GUID that represents a namespace followed by one or more bytes that contain an identifier for an entity within that namespace. If an external identifier represents an internal identifier, it can be also called a global identifier.

FastTransfer context: Either a FastTransfer download context or a FastTransfer upload context.

FastTransfer download context: A Server object that represents a context for a FastTransfer download.

FastTransfer stream: A binary format for encoding full or partial folder and message data. It can also encode information about differences between mailbox replicas.

FastTransfer upload context: A Server object that represents a context for a FastTransfer upload.

final ICS state: An Incremental Change Synchronization (ICS) state that is provided by a server upon completion of an ICS operation. A final ICS state is a checkpoint ICS state that is provided at the end of the ICS operation.

flags: A set of values used to configure or report options or settings.

folder associated information (FAI): A collection of Message objects that are stored in a Folder object and are typically hidden from view by email applications. An FAI Message object is used to store a variety of settings and auxiliary data, including forms, views, calendar options, favorites, and category lists.

Folder object: A messaging construct that is typically used to organize data into a hierarchy of objects containing Message objects and folder associated information (FAI) Message objects.

foreign identifier: An identifier that is assigned to an entity by a foreign system, typically a client. It always has a form of an external identifier, but not all external identifiers are foreign identifiers.

global identifier: A form of encoding for an internal identifier that makes it unique across all stores. Global identifiers are a subset of external identifiers, and they consist of a REPLGUID followed by a 6-byte global counter.

globally unique identifier (GUID): A term used interchangeably with universally unique identifier (UUID) in Microsoft protocol technical documents (TDs). Interchanging the usage of these terms does not imply or require a specific algorithm or mechanism to generate the value. Specifically, the use of this term does not imply or require that the algorithms described in [RFC4122] or [C706] must be used for generating the GUID. See also universally unique identifier (UUID).

handle: Any token that can be used to identify and access an object such as a device, file, or a window.

hard delete: A process that removes an item permanently from the system. If an item is hard deleted, a server does not retain a back-up copy of the item and a client cannot access or restore the item. See also soft delete.

hierarchy synchronization: The process of keeping synchronized versions of folder hierarchies and their properties on a client and server.

Incremental Change Synchronization (ICS): A data format and algorithm that is used to synchronize folders and messages between two sources.

initial ICS state: An Incremental Change Synchronization (ICS) state that is provided by a client when it configures an ICS operation.

internal identifier: A Folder ID or Message ID, as described in [MS-OXCDATA].

interpersonal messaging subtree: The root of the hierarchy of folders commonly visible in a messaging client. This includes mailbox folders (such as the Inbox folder and Outbox folder) and user-created folders, including user-created public folders.

little-endian: Multiple-byte values that are byte-ordered with the least significant byte stored in the memory location with the lowest address.

local replica: A copy of the data in a mailbox that exists on the client.

mailbox: A message store that contains email, calendar items, and other Message objects for a single recipient.

marker: An unsigned 32-bit integer value that adheres to property tag syntax and is used to denote the start and end of related data in a FastTransfer stream. The property tags that are used by markers do not represent valid properties.

message body: The main message text of an email message. A few properties of a Message object represent its message body, with one property containing the text itself and others defining its code page and its relationship to alternative body formats.

Message object: A set of properties that represents an email message, appointment, contact, or other type of personal-information-management object. In addition to its own properties, a Message object contains recipient properties that represent the addressees to which it is addressed, and an attachments table that represents any files and other Message objects that are attached to it.

message store: A unit of containment for a single hierarchy of Folder objects, such as a mailbox or public folders.

messaging object: An object that exists in a mailbox. It can be only a Folder object or a Message object.

meta-property: An entity that is identified with a property tag containing information (a value) that describes how to process other data in a FastTransfer stream.

named property: A property that is identified by both a GUID and either a string name or a 32-bit identifier.

normal message: A message that is not a folder associated information (FAI) message.

offline: The condition of not being connected to or not being on a network or the Internet. Offline can also refer to a device, such as a printer that is not connected to a computer, and files that are stored on a computer that is not connected to or not on a network or the Internet.

Outbox folder: A special folder that contains Message objects that are submitted to be sent.

partial completion: The outcome of a complex operation with independent steps, where some steps succeeded and some steps failed.

Pascal-cased: The capitalization style applied to compound words or phrases when they are joined without spaces and the first letter of each word (including the first word) is capitalized within the compound.  For example, DisplayName is a pascal-cased.

Predecessor Change List (PCL): A set of change numbers that specify the latest versions of a messaging object in all replicas that were integrated into the current version. It is used for conflict detection.

property ID: A 16-bit numeric identifier of a specific attribute (1). A property ID does not include any property type information.

property list restriction table: A set of restrictions, expressed in tabular form, that is imposed on an array of properties and the values of those properties.

property set: A set of attributes (1), identified by a GUID. Granting access to a property set grants access to all the attributes in the set.

property tag: A 32-bit value that contains a property type and a property ID. The low-order 16 bits represent the property type. The high-order 16 bits represent the property ID.

property type: A 16-bit quantity that specifies the data type of a property value.

public folder: A Folder object that is stored in a location that is publicly available.

recipient: An entity that can receive email messages. 

Recipient object: A set of properties that represent the recipient of a Message object.

remote operation (ROP): An operation that is invoked against a server. Each ROP represents an action, such as delete, send, or query. A ROP is contained in a ROP buffer for transmission over the wire.

remote procedure call (RPC): A context-dependent term commonly overloaded with three meanings. Note that much of the industry literature concerning RPC technologies uses this term interchangeably for any of the three meanings. Following are the three definitions: (*) The runtime environment providing remote procedure call facilities. The preferred usage for this meaning is "RPC runtime". (*) The pattern of request and response message exchange between two parties (typically, a client and a server). The preferred usage for this meaning is "RPC exchange". (*) A single message from an exchange as defined in the previous definition. The preferred usage for this term is "RPC message". For more information about RPC, see [C706].

replica: (1) A server that hosts an instance of a message item in a folder. 

(2) A copy of the data that is in a user's mailbox at a specific point in time.

replica GUID (REPLGUID): A value that represents a namespace for identifiers. If a REPLGUID is combined with a GLOBSET, the result is a set of global identifiers. A REPLGUID value has an associated replica ID (REPLID) that is used in its place on disk and on the wire.

replica ID (REPLID): A value that is mapped to a replica GUID (REPLGUID) that identifies a namespace for IDs within a given logon. REPLIDs are used on disk and on the wire for compactness, and are replaced with the corresponding REPLGUID for external consumption.

Rich Text Format (RTF): Text with formatting as described in [MSFT-RTF].

ROP request: See ROP request buffer.

ROP request buffer: A ROP buffer that a client sends to a server to be processed.

ROP response: See ROP response buffer.

ROP response buffer: A ROP buffer that a server sends to a client to be processed.

Sent Items folder: A special folder that is the default location for storing copies of Message objects after they are submitted or sent.

server replica: A copy of a user's mailbox that exists on a server.

soft delete: A process that removes an item from the system, but not permanently. If an item is soft deleted, a server retains a back-up copy of the item and a client can access, restore, or permanently delete the item. See also hard delete.

synchronization context: See synchronization download context or synchronization upload context.

synchronization download context: A Server object that represents a context for an ICS download.

synchronization scope: A set of complex criterion that defines a superset of all the messaging objects that are within a specific mailbox and are considered for a single synchronization operation.

synchronization type: The type of synchronization that is occurring, either a hierarchy synchronization or a content synchronization.

synchronization upload context: A Server object that represents a context for an ICS upload.

top-level message: A message that is not included in another message as an Embedded Message object. Top-level messages are messaging objects.

Unicode: A character encoding standard developed by the Unicode Consortium that represents almost all of the written languages of the world. The Unicode standard [UNICODE5.0.0/2007] provides three forms (UTF-8, UTF-16, and UTF-32) and seven schemes (UTF-8, UTF-16, UTF-16 BE, UTF-16 LE, UTF-32, UTF-32 LE, and UTF-32 BE).

MAY, SHOULD, MUST, SHOULD NOT, MUST NOT: These terms (in all caps) are used as defined in [RFC2119]. All statements of optional behavior use either MAY, SHOULD, or SHOULD NOT.