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. При вызове этого метода без предварительного открытия хранилища возвращается значение ошибки.