PidTagInstanceKey Canonical Property

Applies to: Outlook 2013 | Outlook 2016

Contains a value that uniquely identifies a row in a table.

Property Value
Associated properties:
PR_INSTANCE_KEY
Identifier:
0x0FF6
Data type:
PT_BINARY
Area:
Table

Remarks

This property is a binary value that uniquely identifies a row in a table view. It is a required column in most tables. If a row is included in two views, there are two different instance keys. The instance key of a row may differ each time the table is opened, but remains constant while the table is open. Rows added while a table is in use do not reuse an instance key that was previously used.

Use the PR_ENTRYID (PidTagEntryId) or PR_RECORD_KEY (PidTagRecordKey) properties to correlate all the rows of an expansion. Use PR_INSTANCE_KEY to locate a particular instance within the expansion.

When a multivalued property is expanded in a table, a row is created for each instance of the expansion, that is, for each value of that property. Each row has a unique value for the PR_INSTANCE_KEY property, while all the other columns retain their original values throughout the expansion.

In a categorized sort of a table, rows not corresponding to actual data can be added to the result of the sort. Each such row, like all rows in all tables, has its own unique instance key.

PR_INSTANCE_KEY is also used in table event notifications. The propIndex and propPrior members of the TABLE_NOTIFICATION structure are SPropValue structures holding PR_INSTANCE_KEY values. The propIndex member indicates the row that was added or changed. The propPrior member indicates the row before the added or changed row (PR_NULL indicates a change to the first row).

This value is not copied as part of the display table.

PR_INSTANCE_KEY is a MAPIUID structure. All instance keys can be directly compared as binary values.

Protocol specifications

[MS-OXPROPS]

Provides references to related Exchange Server protocol specifications.

[MS-OXOABK]

Specifies the properties and operations for lists of users, contacts, groups, and resources.

Header files

Mapidefs.h

Provides data type definitions.

Mapitags.h

Contains definitions of properties listed as alternate names.

See also

MAPI Properties

MAPI Canonical Properties

Mapping Canonical Property Names to MAPI Names

Mapping MAPI Names to Canonical Property Names