Поделиться через


IReplicaMetadata::SaveItemMetadata

Сохраняет изменения свойств метаданных элемента в хранилище метаданных.

HRESULT SaveItemMetadata(IItemMetadata * pItemMetadata);

Параметры

  • pItemMetadata
    [in] Метаданные элемента, которые должны быть сохранены в хранилище метаданных.

Возвращаемое значение

  • S_OK

  • S_FALSE (если нет изменений для сохранения).

  • SYNC_E_METADATA_PRIMARY_KEY_CONSTRAINT (если в параметре pItemMetadata задан недопустимый или повторяющийся идентификатор элемента).

Замечания

Этот метод необходимо вызывать, чтобы сохранить изменения свойств IItemMetadata в хранилище метаданных. Если свойства объекта IItemMetadata были изменены, а объект удален без вызова данного метода, то все изменения будут утеряны.

Рекомендуется вызывать данный метод для сохранения изменений в метаданных после того, как соответствующее изменение было сохранено в хранилище элементов. Это позволяет обеспечить неизменность метаданных в случае сбоя обновления данных.

Реализация этого класса, которая доступна через ISqlSyncMetadataStore, выполняет обновления в контексте транзакции, начатой до вызова этого метода.

Примечания по реализации

Этот метод должен успешно завершаться только после того, как все изменения свойств будут успешно зафиксированы в хранилище метаданных. Должны быть зафиксированы либо все изменения свойств, либо ни одно из них.

Если хранилище метаданных поддерживает транзакции, то этот метод должен применить изменения в хранилище метаданных в контексте данной транзакции.

См. также

Справочник

Интерфейс IReplicaMetadata