IReplicaMetadata::SaveItemMetadata
将项元数据属性变更保存到元数据存储区中。
HRESULT SaveItemMetadata(IItemMetadata * pItemMetadata);
参数
- pItemMetadata
[in] 要保存到元数据存储区中的项元数据。
返回值
S_OK
如果没有要保存的变更,则返回值为 S_FALSE。
如果 pItemMetadata 中指定的项 ID 无效或重复,则返回值为 SYNC_E_METADATA_PRIMARY_KEY_CONSTRAINT。
备注
必须调用此方法才能将 IItemMetadata 属性变更保存到元数据存储区中。如果没有调用此方法而 IItemMetadata 属性发生变更并且对象损坏,则这些变更将会丢失。
建议在将相应变更保存到项存储区后,再调用此方法保存元数据变更。这有助于确保在数据更新失败的情况下不会变更元数据。
通过 ISqlSyncMetadataStore 获得的此类的实现在调用此方法前启动的事务的上下文中执行更新。
实施者注意事项
此方法仅在所有属性变更均已成功提交到元数据存储区后才会成功。或者所有属性变更均已提交,或者任何属性变更均未提交。
如果元数据存储区支持事务,则此方法必须在事务的上下文中将其变更应用到元数据存储区。