CanonicalName: PidTagInstanceKey
PropertyID: $0FF6
DataType: PT_BINARY
MAPINames: PR_INSTANCE_KEY
Area: Table
Description: Contains a value that uniquely identifies a row in a 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