SYNC_SAVE_ACTION 列舉
表示變更所指示之動作的類型。
typedef enum
{
SSA_CREATE,
SSA_UPDATE_VERSION_ONLY,
SSA_UPDATE_VERSION_AND_DATA,
SSA_UPDATE_VERSION_AND_MERGE_DATA,
SSA_DELETE_AND_STORE_TOMBSTONE,
SSA_DELETE_AND_REMOVE_TOMBSTONE,
SSA_RENAME_SOURCE_AND_UPDATE_VERSION_AND_DATA,
SSA_RENAME_DESTINATION_AND_UPDATE_VERSION_AND_DATA,
SSA_DELETE_CONFLICTING_AND_SAVE_SOURCE_ITEM,
SSA_STORE_MERGE_TOMBSTONE,
SSA_CHANGE_ID_UPDATE_VERSION_AND_MERGE_DATA,
SSA_CHANGE_ID_UPDATE_VERSION_AND_SAVE_DATA,
SSA_CHANGE_ID_UPDATE_VERSION_AND_DELETE_AND_STORE_TOMBSTONE,
SSA_CHANGE_ID_UPDATE_VERSION_ONLY,
SSA_CREATE_GHOST,
SSA_GHOST_ITEM,
SSA_UNGHOST_ITEM,
SSA_UPDATE_GHOST,
SSA_DELETE_GHOST_AND_STORE_TOMBSTONE,
SSA_DELETE_GHOST_WITHOUT_TOMBSTONE
} SYNC_SAVE_ACTION;
成員
- SSA_CREATE
此項目是新的,而且會在目的地項目存放區中建立。
- SSA_UPDATE_VERSION_ONLY
項目資料不會在目的地項目存放區中變更。目的地中繼資料內會覆寫此版本。選取目的地提供者的項目當做衝突的成功者時,也會進行這個動作。
- SSA_UPDATE_VERSION_AND_DATA
套用到目的地項目存放區的項目資料。現有的資料會被覆寫。提供的版本會覆寫目的地中繼資料內的現有版本。這個動作會對應到來源複寫中的項目建立、項目更新或變更單位更新。選取來源提供者的項目當做衝突的成功者時,也會進行這個動作。
- SSA_UPDATE_VERSION_AND_MERGE_DATA
項目資料會套用到目的地項目存放區。系統會使用某個提供者特定的方法,將現有的項目資料與更新的項目資料合併。此版本會覆寫目的地中繼資料內的現有版本。當衝突解決動作是 SRA_MERGE 時,就會進行這個動作。
- SSA_DELETE_AND_STORE_TOMBSTONE
此項目會從目的地項目存放區中刪除。目的地中繼資料內會儲存標記。這個動作會對應到從來源複寫刪除項目。
- SSA_DELETE_AND_REMOVE_TOMBSTONE
此項目會從目的地項目存放區中刪除。目的地中繼資料內不會保留標記。如果目的地中繼資料中有這個項目的清除標記,必須將它移除。這個動作是在被遺忘的知識復原期間叫用,而且會對應到來源複寫已清除此標記的項目刪除。
- SSA_RENAME_SOURCE_AND_UPDATE_VERSION_AND_DATA
從來源提供者所傳送的變更會重新命名,讓它不再與目的地複寫的衝突項目發生衝突,而且來源變更會套用至目的地複寫。
- SSA_RENAME_DESTINATION_AND_UPDATE_VERSION_AND_DATA
目的地複寫的衝突項目會重新命名,讓它不再與從來源提供者所傳送的變更發生衝突,而且來源變更會套用至目的地複寫。
- SSA_DELETE_CONFLICTING_AND_SAVE_SOURCE_ITEM
來源變更會套用至目的地複寫,而且會從目的地複寫中刪除衝突的目的地項目。
SSA_STORE_MERGE_TOMBSTONE
將合併標記儲存在目的地中繼資料中。請考慮採用將 id1 指定為失敗項目識別碼而將 id2 指定為成功項目識別碼的合併動作。合併標記會包含 id1 當做失敗項目識別碼,而包含 id2 當做成功項目識別碼。如果合併標記已經存在包含 id1 當做失敗項目識別碼而包含另一個項目識別碼 id3 當做成功項目識別碼的目的地複寫中,請執行下列步驟。如果 id2 小於 id3,請建立並儲存兩個合併標記。第一個合併標記會包含 id1 當做失敗項目識別碼,而包含 id2 當做成功項目識別碼。另一個合併標記會包含 id2 當做失敗項目識別碼,而包含 id3 當做成功項目識別碼。第二個合併標記可能已經存在,在此情況下,只要保留此標記即可。如此一來,系統就會建立合併標記的鏈結,並依照項目識別碼進行排序。
如果 id3 小於 id2,請傳回錯誤。
- SSA_CHANGE_ID_UPDATE_VERSION_AND_MERGE_DATA
來源項目的資料會與目的地項目結合。透過遵循針對 SSA_STORE_MERGE_TOMBSTONE 所述的相同步驟,儲存失敗項目識別碼的合併標記。
- SSA_CHANGE_ID_UPDATE_VERSION_AND_SAVE_DATA
透過遵循針對 SSA_STORE_MERGE_TOMBSTONE 所述的相同步驟,儲存失敗項目識別碼的合併標記。
- SSA_CHANGE_ID_UPDATE_VERSION_AND_DELETE_AND_STORE_TOMBSTONE
透過遵循針對 SSA_STORE_MERGE_TOMBSTONE 所述的相同步驟,儲存失敗項目識別碼的合併標記。刪除成功項目識別碼所識別的項目,並且儲存其標記。
- SSA_CHANGE_ID_UPDATE_VERSION_ONLY
透過遵循針對 SSA_STORE_MERGE_TOMBSTONE 所述的相同步驟,儲存失敗項目識別碼的合併標記。僅套用成功項目變更的中繼資料。
- SSA_CREATE_GHOST
建立此項目的準刪除項目。準刪除項目是指同時包含指出此項目最近是否位於篩選中的值以及「移出版本」(Move-out Version) 的項目。移出版本會指出將此項目移出篩選之變更的版本。
- SSA_GHOST_ITEM
將使用中項目變更為準刪除項目。若要這樣做,請儲存表示此項目最近位於篩選中的值、將這項變更的版本儲存為此項目的移出版本,然後從項目存放區中移除項目資料。
- SSA_UNGHOST_ITEM
啟用準刪除項目。若要這樣做,請從中繼資料中移除移出版本,然後將項目資料儲存在項目存放區中。
- SSA_UPDATE_GHOST
更新準刪除項目的版本。這是此項目之目前版本的更新,而非移出版本的更新。
- SSA_DELETE_GHOST_AND_STORE_TOMBSTONE
將準刪除項目變更為標記。這個標記表示已經刪除此項目。若要這樣做,請儲存表示已經刪除此項目的值。
- SSA_DELETE_GHOST_WITHOUT_TOMBSTONE
從中繼資料存放區中移除準刪除項目,但不儲存此項目的標記。
備註
當提供者未針對完整變更批次使用交易時,提供者必須從 ISaveChangeContext 物件擷取更新後的知識,並在套用變更的同時儲存此知識。
需求
標頭: Synchronization.h
請參閱
參考
ISaveChangeWithChangeUnitsContext 介面
ISynchronousNotifyingChangeApplierTarget 介面
IAsynchronousNotifyingChangeApplierTarget 介面
IFeedBuilder 介面