取得變更批次,其中包含目的地提供者之指定知識內未包含之項目的項目中繼資料。
HRESULT GetChangeBatch(
DWORD dwBatchSize,
ISyncKnowledge *pSyncKnowledge,
ISyncChangeBatch ** ppSyncChangeBatch);
參數
- dwBatchSize
[in] 要建立之批次的大小。
- pSyncKnowledge
[in] 目的地提供者的知識。
- ppSyncChangeBatch
[out] 傳回變更批次,其中包含目的地提供者之指定知識內未包含之項目的項目中繼資料。
傳回值
S_OK
E_POINTER
如果 dwBatchSize 是 0,則為 E_INVALIDARG。
備註
這個方法可幫助同步處理提供者實作它的 IKnowledgeSyncProvider::GetChangeBatch 方法。
當提供者呼叫這個方法之前,他們必須先確定中繼資料存放區內的版本可反映所有的本機變更,包括刪除在內。這是透過明確的中繼資料維護通過來完成,以便列舉項目及更新項目的中繼資料。
這個類別的實作 (可透過 ISqlSyncMetadataStore 取得) 會依照全域識別碼順序將變更加入到變更批次。
當沒有其他變更要傳送時,這個類別的實作 (透過 ISqlSyncMetadataStore 取得) 便會在傳回的變更批次上呼叫 SetLastBatch。
實作者注意事項
為了幫助使用全域識別碼順序且能夠使用範圍的提供者,應該要列舉變更,並依照全域識別碼順序將變更加入到變更批次。傳回之變更批次內的第一個變更會開始新的範圍。
如果這個批次之後沒有其他變更要傳送,必須在傳回的變更批次上呼叫 SetLastBatch,否則 Sync Framework 將會再次呼叫 IKnowledgeSyncProvider::GetChangeBatch 來擷取其他變更批次。