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


ISyncMetadataStoreSerializer::GetSerializedReplicaId

Возвращает идентификатор реплики, метаданные которой были сериализованы для указанного потока назначения.

HRESULT GetSerializedReplicaId(
  IStream * pStream,
  BYTE * pbReplicaId,
  DWORD * pcbReplicaId,
  ID_PARAMETERS * pIdParameters);

Параметры

  • pStream
    [in] Поток, содержащий сериализованные метаданные для определенной реплики.
  • pbReplicaId
    [in, out, unique, size_is(*pcbReplicaId)] Возвращает идентификатор реплики, сопоставленной с этими метаданными.
  • pcbReplicaId
    [in, out] Указывает число байтов в объекте pbReplicaId. Возвращает размер (в байтах), который должен иметь pbReplicaId, если значение pbReplicaId слишком мало, либо число байтов, записанных в pbReplicaId.
  • pIdParameters
    [out] Структура ID_PARAMETERS, указывающая параметры форматирования, в том числе формат идентификаторов реплики, для поставщика, метаданные которого проходят сериализацию.

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

  • S_OK.

  • E_OUTOFMEMORY.

  • E_POINTER.

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

  • SYNC_E_METADATA_STORE_DESERIALIZATION_ERROR, если в процессе десериализации были обнаружены ошибки формата файла.

  • HRESULT_FROM_WIN32(ERROR_MORE_DATA), если размер pbReplicaId слишком мал. В этом случае в параметре pcbReplicaId возвращается необходимое число байтов.

Замечания

Перед вызовом этого метода хранилище метаданных должно быть открыто. Открыть хранилище можно вызовом метода ISqlSyncMetadataStore::OpenStore или ISqlSyncMetadataStore::CreateStore. При вызове этого метода без предварительного открытия хранилища возвращается значение ошибки.

См. также

Справочник

Интерфейс ISyncMetadataStoreSerializer