IReplicaMetadata::SaveItemMetadata
Сохраняет изменения свойств метаданных элемента в хранилище метаданных.
HRESULT SaveItemMetadata(IItemMetadata * pItemMetadata);
Параметры
- pItemMetadata
[in] Метаданные элемента, которые должны быть сохранены в хранилище метаданных.
Возвращаемое значение
S_OK
S_FALSE (если нет изменений для сохранения).
SYNC_E_METADATA_PRIMARY_KEY_CONSTRAINT (если в параметре pItemMetadata задан недопустимый или повторяющийся идентификатор элемента).
Замечания
Этот метод необходимо вызывать, чтобы сохранить изменения свойств IItemMetadata в хранилище метаданных. Если свойства объекта IItemMetadata были изменены, а объект удален без вызова данного метода, то все изменения будут утеряны.
Рекомендуется вызывать данный метод для сохранения изменений в метаданных после того, как соответствующее изменение было сохранено в хранилище элементов. Это позволяет обеспечить неизменность метаданных в случае сбоя обновления данных.
Реализация этого класса, которая доступна через ISqlSyncMetadataStore, выполняет обновления в контексте транзакции, начатой до вызова этого метода.
Примечания по реализации
Этот метод должен успешно завершаться только после того, как все изменения свойств будут успешно зафиксированы в хранилище метаданных. Должны быть зафиксированы либо все изменения свойств, либо ни одно из них.
Если хранилище метаданных поддерживает транзакции, то этот метод должен применить изменения в хранилище метаданных в контексте данной транзакции.