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


ISyncMetadataStoreSerializer::SerializeReplicaMetadata

Для указанной реплики выполняет сериализацию содержимого хранилища службы хранилища метаданных в поток назначения в каноническом формате.

HRESULT SerializeReplicaMetadata(
  const BYTE * pbReplicaId,
  const ID_PARAMETERS * pIdParameters,
  IStream * pStream, 
  SYNC_SERIALIZATION_VERSION serializationVersion);

Параметры

Параметр

Описание

pbReplicaId

[in] Идентификатор реплики, для которой требуется сериализация метаданных. Если для идентификатора реплики была задана постоянная длина в параметре pIdParameters, необходимо указать только значение идентификатора для pbReplicaId, а размер буфера указывать не нужно. Однако если идентификатор реплики имеет переменную длину, в первых двух байтах буфера должна указываться длина переданного буфера. Например, если длина идентификатора реплики составляет в данном случае 16 байт, то значение первых двух байтов в буфере должно быть 18.

pIdParameters

[in] Структура Структура ID_PARAMETERS, указывающая параметры форматирования, в том числе формат идентификаторов реплики, для поставщика, метаданные которого сериализуются.

pStream

[in] Поток назначения, в который выполняется сериализация метаданных. Этот метод производит однонаправленную запись данных в поток, начиная с текущей позиции. Вызывающий объект должен расположить поток в начале усеченного файла или в другой подходящей начальной позиции.

serializationVersion

[in] Значение SYNC_SERIALIZATION_VERSION Enumeration, которое определяет версию Sync Framework, для которой верны сериализованные метаданные. Например, если собственным форматом сериализации для набора знаний является Sync Framework 2.0, а в этом параметре указано значение Sync Framework 1.0, то сериализация значений этого знания будет производиться в формате 1.0. Если в значениях набора знаний используются какие-либо функции версии 2.0, которые не могут быть сериализованы в формате версии 1.0, то сериализация завершится ошибкой с кодом SYNC_E_INCOMPATIBLE_SERIALIZATION_VERSION.

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

  • S_OK.

  • E_POINTER.

  • E_OUTOFMEMORY.

  • E_INVALIDARG, если идентификатор указанной реплики не существует в связанном хранилище метаданных или если указанный ID_PARAMETERS не совпадает с форматами, используемыми для реплики.

  • SYNC_E_INVALIDOPERATION, если метод вызван без открытого хранилища метаданных.

  • SYNC_E_METADATA_ACTIVE_TRANSACTION_REQUIRED, если недоступна транзакция, в рамках которой можно выполнить сериализацию метаданных.

Замечания

Вызов этого метода возможен при соблюдении двух условий.

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

См. также

Справочник

Интерфейс ISyncMetadataStoreSerializer