Compartilhar via


ISyncMetadataStoreSerializer::GetSerializedReplicaId

Retorna a ID de réplica para a réplica cujos metadados foram serializados para o fluxo de destino especificado.

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

Parâmetros

  • pStream
    [in] O fluxo que contém os metadados serializados para uma réplica específica.
  • pbReplicaId
    [in, out, unique, size_is(*pcbReplicaId)] Retorna a ID da réplica associada a esses metadados.
  • pcbReplicaId
    [in, out] Especifica o número de bytes em pbReplicaId. Retornará o número de bytes necessários para pbReplicaId quando pbReplicaId for muito pequeno ou o número de bytes gravados para pbReplicaId quando os dados forem gravados.
  • pIdParameters
    [out] 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.

Valor de retorno

  • S_OK.

  • E_OUTOFMEMORY.

  • E_POINTER.

  • SYNC_E_INVALIDOPERATION se o método for chamado sem um repositório de metadados aberto.

  • SYNC_E_METADATA_STORE_DESERIALIZATION_ERROR se qualquer erro de formato de arquivo for encontrado durante a desserialização.

  • HRESULT_FROM_WIN32(ERROR_MORE_DATA) se pbReplicaId for muito pequeno. Nessa situação, pcbReplicaId retorna o número de bytes necessários.

Comentários

O repositório de metadados deve ser aberto antes de esse método ser chamado. Abra um repositório chamando ISqlSyncMetadataStore::OpenStore ou ISqlSyncMetadataStore::CreateStore. Chamar esse método sem abrir o repositório primeiro retorna um valor de erro.

Consulte também

Referência

Interface ISyncMetadataStoreSerializer