Partilhar via


IReplicaKeyMap::Serialize

Serializa os dados do mapa de chave de réplica para uma matriz de bytes.

HRESULT Serialize( 
  BYTE *pbReplicaKeyMap,
  DWORD *pcbReplicaKeyMap);

Parâmetros

  • pbReplicaKeyMap
    [in, out, unique, size_is(*pcbReplicaKeyMap)] A matriz de bytes que recebe os dados serializados.
  • pcbReplicaKeyMap
    [in, out] Especifica o número de bytes em pbReplicaKeyMap. Retorna o número de bytes necessários para serializar os dados do mapa de chave de réplica quando pbReplicaKeyMap é muito pequeno ou retorna o número de bytes gravados.

Valor de retorno

  • S_OK.

  • E_INVALIDARG quando uma ID ou chave de réplica armazenada no mapa não é válida.

  • E_POINTER.

  • E_OUTOFMEMORY.

  • HRESULT_FROM_WIN32(ERROR_MORE_DATA) quando pbReplicaKeyMap é muito pequeno. Nesse caso, o número necessário de bytes é retornado em pcbReplicaKeyMap.

Formato de serialização

O mapa de chave de réplica serializada contido em pbReplicaKeyMap é armazenado de forma compacta, em ordem de byte big-endian.

O mapa de chave de réplica serializada contém os seguintes elementos nesta ordem:

Tipo de dados Comprimento em bytes Descrição

ULONG

4

A assinatura do mapa de chave de réplica. Esse valor é sempre 5.

BOOL

1

Indica se as IDs de réplica contidas no mapa de chave de réplica são de comprimento fixo ou variável. Esse valor será 0 se as IDs tiverem comprimento fixo; ou 1 se tiverem comprimento variável.

USHORT

2

O comprimento, em bytes, das IDs de réplica de comprimento fixo, ou o comprimento máximo das IDs de comprimento variável.

ULONG

4

O número de entradas no mapa de chave de réplica.

A seção de mapa de chave de réplica contém uma lista de entradas no mapa de chave de réplica, com o número de entradas igual ao valor contido no ULONG anterior.

Quando as IDs de réplica têm comprimento fixo:

Tipo de dados Comprimento em bytes Descrição

Sequência de bytes

O comprimento especificado no formato de ID da réplica.

A ID de réplica de comprimento fixo.

Ou, quando as IDs de réplica tiverem comprimento variável:

Tipo de dados Comprimento em bytes Descrição

USHORT

2

O comprimento, em bytes, da ID de comprimento variável. Esse comprimento inclui os dois bytes para o USHORT que contém o comprimento, mais os bytes que contêm a ID real.

Sequência de bytes

O comprimento especificado no USHORT anterior.

A ID de réplica de comprimento variável.

Consulte também

Referência

Interface IReplicaKeyMap