ISyncMetadataStoreSerializer::SerializeReplicaMetadata
Serializa, para a réplica especificada, o conteúdo de um repositório do serviço de armazenamento de metadados para um fluxo de destino em um formato canônico.
HRESULT SerializeReplicaMetadata(
const BYTE * pbReplicaId,
const ID_PARAMETERS * pIdParameters,
IStream * pStream,
SYNC_SERIALIZATION_VERSION serializationVersion);
Parâmetros
Parâmetro |
Descrição |
pbReplicaId |
[in] A ID da réplica para a qual os metadados devem ser serializados. Se a ID da réplica for especificada como tendo um comprimento fixo no parâmetro pIdParameters, especifique só o valor da ID para o pbReplicaId, sem tamanho de buffer. Porém, se a ID da réplica tiver comprimento variável, os primeiros dois bytes do buffer deverão incluir o comprimento do buffer passado. Por exemplo, se o comprimento de ID da réplica tiver 16 bytes em um caso específico, o valor dos primeiros dois bytes no buffer deverá ser 18. |
pIdParameters |
[in] Um Estrutura ID_PARAMETERS que especifica configurações de formato, como o formato de ID da réplica, para o provedor cujos metadados são serializados. |
pStream |
[in] O fluxo de destino para o qual os metadados são serializados. Esse método grava no fluxo de uma maneira somente avanço a partir do local do fluxo atual. O chamador deve posicionar o fluxo no início de um arquivo truncado ou em outra posição inicial apropriada. |
serializationVersion |
[in] Um valor SYNC_SERIALIZATION_VERSION Enumeration que especifica para qual versão do Sync Framework os metadados serializados são válidos. Por exemplo, se o formato de serialização de conhecimento nativo for Sync Framework 2.0, mas o valor fornecido para esse parâmetro for Sync Framework 1.0, os valores de conhecimento serão serializados no formato 1.0. Se os valores do conhecimento usarem qualquer recurso 2.0 que não possa ser serializado no formato 1.0, a serialização falhará com o código de erro SYNC_E_INCOMPATIBLE_SERIALIZATION_VERSION. |
Valor de retorno
S_OK.
E_POINTER.
E_OUTOFMEMORY.
E_INVALIDARG se a ID da réplica especificada não existir no repositório de metadados associado ou se o ID_PARAMETERS especificados não corresponderem aos formatos usados para a réplica.
SYNC_E_INVALIDOPERATION se o método for chamado sem um repositório de metadados aberto.
SYNC_E_METADATA_ACTIVE_TRANSACTION_REQUIRED se uma transação na qual serializar os metadados não estiver disponível.
Comentários
Duas condições devem ser atendidas antes de esse método ser chamado:
O repositório de metadados deve estar aberto. Abra um repositório chamando ISqlSyncMetadataStore::OpenStore ou ISqlSyncMetadataStore::CreateStore.
Uma transação ativa deve estar disponível no objeto ISqlSyncMetadataStore. Inicie uma transação chamando ISyncMetadataStore::BeginTransaction.
Chamar esse método quando uma dessas condições não for atendida resultará em um valor de retorno com erro.