IReplicaKeyMap::Serialize
Sérialise les données de mappage de clés de réplica en un tableau d'octets.
HRESULT Serialize(
BYTE *pbReplicaKeyMap,
DWORD *pcbReplicaKeyMap);
Paramètres
- pbReplicaKeyMap
[in, out, unique, size_is(*pcbReplicaKeyMap)] Tableau d'octets qui reçoit les données sérialisées.
- pcbReplicaKeyMap
[in, out] Spécifie le nombre d'octets contenus dans pbReplicaKeyMap. Retourne le nombre d'octets requis pour sérialiser les données de mappage de clés de réplica lorsque pbReplicaKeyMap est trop petit, ou retourne le nombre d'octets écrits.
Valeur de retour
S_OK.
E_INVALIDARG lorsqu'un ID de réplica ou une clé de réplica stocké dans le mappage n'est pas valide.
E_POINTER.
E_OUTOFMEMORY.
HRESULT_FROM_WIN32(ERROR_MORE_DATA) lorsque pbReplicaKeyMap est trop petit. Dans ce cas, le nombre requis d'octets est retourné dans pcbReplicaKeyMap.
Format de sérialisation
Le mappage de clés de réplica sérialisé contenu dans pbReplicaKeyMap est stocké dans un format compact, dans l'ordre d'octet avec primauté des octets de poids fort (big-endian).
Le mappage de clés de réplica sérialisé contient les éléments suivants, dans l'ordre suivant :
Type de données | Longueur en octets | Description |
---|---|---|
ULONG |
4 |
Signature de mappage de clés de réplica. Cette valeur est toujours 5. |
BOOL |
1 |
Indique si les ID de réplica contenus dans le mappage de clés de réplica sont de longueur fixe ou de longueur variable. Cette valeur est 0 si les ID sont de longueur fixe ou 1 si les ID sont de longueur variable. |
USHORT |
2 |
Longueur, en octets, des ID de réplica pour les ID de longueur fixe, ou la longueur maximale de l'ID pour les ID de longueur variable. |
ULONG |
4 |
Nombre d'entrées dans le mappage de clés de réplica. |
La section de mappage de clés de réplica contient une liste d'entrées de mappage de clés de réplica, avec le nombre d'entrées égal à la valeur contenue dans l'ULONG précédent.
Lorsque les ID de réplica sont de longueur fixe :
Type de données | Longueur en octets | Description |
---|---|---|
Séquence d'octets |
Longueur spécifiée dans le format d'ID de réplica. |
ID de réplica de longueur fixe. |
Ou, lorsque les ID de réplica sont de longueur variable :
Type de données | Longueur en octets | Description |
---|---|---|
USHORT |
2 |
Longueur, en octets, de l'ID de longueur variable. Cette longueur inclut les deux octets pour l'USHORT qui contient la longueur, plus les octets qui contiennent l'ID réel. |
Séquence d'octets |
Longueur spécifiée dans l'USHORT précédent. |
ID de réplica de longueur variable. |