共用方式為


儲存 MAPI 屬性

適用於:Outlook 2013 |Outlook 2016

許多物件都支援交易處理模型,因此在稍後認可屬性之前,不會永久變更屬性。 雖然屬性的變更是由 IMAPIProp::SetPropsIMAPIProp::D eleteProps 方法處理,但認可步驟是由 IMAPIProp::SaveChanges 處理。 直到成功呼叫 SaveChanges 之後,才能存取物件屬性的最新版本。

SaveChanges 傳回錯誤值MAPI_E_OBJECT_CHANGED時,這是另一個用戶端同時認可變更物件的警告。 視實作 物件的提供者而定,多個用戶端可以藉由呼叫其 OpenEntry 方法並設定MAPI_MODIFY旗標,為其提供讀取/寫入存取權,來成功開啟物件。 從這類 OpenEntry 呼叫傳回的對像是記憶體數據的快照集。 每次後續變更此數據的嘗試都會覆寫先前的嘗試。

SaveChanges 接收MAPI_E_OBJECT_CHANGED時,用戶端可以選擇:

  • 建立物件的複本以保存變更。

  • SaveChanges 進行另一個呼叫,並指定FORCE_SAVE。

使用 FORCE_SAVE 旗標呼叫 SaveChanges 會覆寫先前的儲存,並使客戶端的變更永久化。

另請參閱

MAPI 屬性概觀