Condividi tramite


IReplicaKeyMap::Serialize

Serializza i dati della mappa di chiavi di replica in una matrice di byte.

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

Parametri

  • pbReplicaKeyMap
    [in, out, unique, size_is(*pcbReplicaKeyMap)] Matrice di byte che riceve i dati serializzati.
  • pcbReplicaKeyMap
    [in, out] Specifica il numero di byte in pbReplicaKeyMap. Restituisce il numero di byte necessari per serializzare i dati della mappa di chiavi di replica se pbReplicaKeyMap è troppo piccolo oppure restituisce il numero di byte scritti.

Valore restituito

  • S_OK.

  • E_INVALIDARG quando un ID replica o una chiave di replica archiviati nella mappa non sono validi.

  • E_POINTER.

  • E_OUTOFMEMORY.

  • HRESULT_FROM_WIN32 (ERROR_MORE_DATA) se pbReplicaKeyMap è troppo piccolo. In questo caso, il numero di byte necessari viene restituito in pcbReplicaKeyMap.

Formato di serializzazione

La mappa di chiavi di replica serializzata contenuta in pbReplicaKeyMap viene archiviata in formato ridotto, nell'ordine dei byte big endian.

La mappa di chiavi di replica serializzata contiene gli elementi riportati di seguito nell'ordine seguente:

Tipo di dati Lunghezza in byte Descrizione

ULONG

4

Firma della mappa di chiavi di replica. Questo valore è sempre 5.

BOOL

1

Indica se gli ID replica contenuti nella mappa di chiavi di replica sono a lunghezza fissa o variabile. Questo valore è 0 se gli ID sono a lunghezza fissa o 1 se gli ID sono a lunghezza variabile.

USHORT

2

Lunghezza, in byte, degli ID replica per gli ID a lunghezza fissa o lunghezza massima dell'ID per gli ID a lunghezza variabile.

ULONG

4

Numero di voci nella mappa di chiavi di replica.

La sezione della mappa di chiavi di replica contiene un elenco delle relative voci, con il numero di voci uguale al valore contenuto nel precedente ULONG.

Se gli ID replica sono a lunghezza fissa:

Tipo di dati Lunghezza in byte Descrizione

Sequenza di byte

Lunghezza specificata nel formato dell'ID replica.

ID replica a lunghezza fissa.

Se gli ID replica sono a lunghezza variabile:

Tipo di dati Lunghezza in byte Descrizione

USHORT

2

Lunghezza, in byte, dell'ID a lunghezza variabile. Questa lunghezza include i due byte per il valore USHORT che contiene la lunghezza e i byte che contengono l'ID effettivo.

Sequenza di byte

Lunghezza specificata nel precedente USHORT.

ID replica a lunghezza variabile.

Vedere anche

Riferimento

Interfaccia IReplicaKeyMap