Compartilhar via


ISyncMetadataStoreSerializer::DeserializeReplicaMetadata

Desserializa o conteúdo de um arquivo de metadados canônico para um repositório do serviço de armazenamento de metadados. Como opção, atualiza o formato do repositório de metadados quando a versão do provedor é alterada.

HRESULT DeserializeReplicaMetadata(
  IStream * pStream,
  DWORD dwExpectedProviderCompatibilityVersion,
  IProviderMetadataUpgradeCallback * pProviderUpgradeCallback);

Parâmetros

  • pStream
    [in] O fluxo que contém os metadados serializados para uma réplica específica.
  • dwExpectedProviderCompatibilityVersion
    [in] A versão de compatibilidade do provedor que está prevista para ser incluída no arquivo de metadados canônico. Se a versão esperada não corresponder à versão real, a desserialização falhará intencionalmente quando pProviderUpgradeCallback for um NULL, ou os métodos pProviderUpgradeCallback serão chamados quando pProviderUpgradeCallback não for NULL. Para obter mais informações, consulte Acessando metadados em componentes com versões diferentes e Atualizando a versão do repositório de metadados.
  • pProviderUpgradeCallback
    [in] Métodos de retorno de chamada que são chamados quando o formato de repositório de metadados deve ser atualizado, pois a versão de provedor contida nos metadados serializados não é igual a dwExpectedProviderCompatibilityVersion.

Valor de retorno

  • S_OK.

  • S_FALSE se o valor de contagem em escala mais alto no fluxo serializado for menor que ou igual ao valor de contagem de em escala mais alto no repositório de metadados. Nesse caso, não há metadados adicionais a serem desserializados.

  • E_OUTOFMEMORY

  • E_POINTER

  • 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 desserializar os metadados não estiver disponível.

  • SYNC_E_METADATA_STORE_DESERIALIZATION_ERROR se qualquer erro de formato de arquivo for encontrado durante a desserialização ou se o conteúdo do arquivo for incompatível com o esquema da réplica de destino.

  • SYNC_E_METADATA_STORE_DESERIALIZATION_PROVIDER_VERSION_MISMATCH se a versão de compatibilidade do provedor especificada para dwExpectedProviderCompatibilityVersion não corresponder à versão especificada no arquivo de metadados canônico e pProviderUpgradeCallback for NULL.

Comentários

Três condições devem ser atendidas antes de chamar esse método:

Chamar esse método quando alguma dessas condições não for atendida resultará em um valor de retorno com erro.

Esse método poderá ser usado como parte do procedimento de atualização do esquema de metadados quando a versão do provedor for alterada. Para obter mais informações, consulte Atualizando a versão do repositório de metadados.

Consulte também

Referência

Interface ISyncMetadataStoreSerializer