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.