PR_INSTANCE_KEY

The PR_INSTANCE_KEY property contains a value that uniquely identifies a row in a table.

Quick Info

Header file: MAPITAGS.H
Must be a column in: All tables
Identifier: 0x0FF6
Property type: PT_BINARY
Property tag: 0x0FF60102

Remarks

The PR_INSTANCE_KEY property is a binary value that uniquely identifies a row in a table view. PR_INSTANCE_KEY 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 or PR_RECORD_KEY 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.

See Also

Table Row Properties