LazyMAPI

MAPI Properties

MAPI Property: PR_INSTANCE_KEY
Description: Contains a value that uniquely identifies a row in a table.
Property ID: $0FF6
Property 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