MAPI 項目識別碼
適用於:Outlook 2013 |Outlook 2016
項目標識碼是儲存在 ENTRYID 結構中的二進位數據片段,用來唯一識別和開啟MAPI物件。 大部分的MAPI物件都有專案標識碼。 物件的專案識別碼類似於檔案的檔名。 不過,它們不是可傳輸的,而且不能用於其所產生系統以外的系統上。
項目標識碼
訊息存放區提供者會將專案標識符指派給訊息存放區、資料夾和訊息;通訊錄提供者會將其指派給通訊簿容器、通訊組清單和傳訊使用者。 項目標識碼也可用來開啟數據表中數據列所代表的物件,例如狀態數據表中的狀態物件。 物件會將其專案標識碼儲存在其 PR_ENTRYID (PidTagEntryId) 屬性中。
雖然服務提供者會建立、指派及檢查專案標識碼,但用戶端應用程式只會使用它們作為開啟物件的工具。 對用戶端而言,專案標識碼是不透明的二進位數據片段,與基礎傳訊系統無關。
用戶端會呼叫物件的 IMAPIProp::GetProps 方法來擷取其 PR_ENTRYID 屬性或數據表的 IMAPITable::QueryColumns 方法,以擷取保存PR_ENTRYID屬性的數據 行 。
項目標識碼會以參數形式傳遞至 OpenEntry 和 CompareEntryIDs 方法。 有數個MAPI對象實作 OpenEntry 和 CompareEntryIDs 方法。 使用 OpenEntry,用戶端可以開啟 物件。 使用 CompareEntryIDs,用戶端可以比較兩個專案標識碼,以判斷它們是否參考相同的物件。 由於專案標識碼不一定是二進位比較,因此客戶端必須使用 CompareEntryIDs 方法加以比較。
客戶端應該一律在其呼叫服務提供者時傳遞自然對齊的專案標識碼,因為雖然服務提供者應該處理任意對齊的專案標識符,但情況不一定如此。 自然對齊的記憶體位址可讓計算機存取它在該位址支援的任何數據類型,而不會產生對齊錯誤。 自然對齊因數通常是系統記憶體配置器所使用的相同對齊因數,通常是8個字節。
項目標識碼有兩種類型:短期和長期。 短期專案標識碼的建構速度較快,但只有在目前工作站上目前會話的存留期內,才會保證其唯一性。 長期項目標識碼的存續期較長。 短期專案識別碼主要用於對話框中數據表和專案中的數據列,而長期專案標識符則用於許多物件,例如訊息、資料夾和通訊組清單。