Freigeben über


IReplicaKeyMap::Serialize

Serialisiert die Replikatschlüssel-Zuordnungsdaten in ein Bytearray.

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

Parameter

  • pbReplicaKeyMap
    [in, out, unique, size_is(*pcbReplicaKeyMap)] Das Bytearray, das die serialisierten Daten empfängt.
  • pcbReplicaKeyMap
    [in, out] Gibt die Anzahl der Bytes in pbReplicaKeyMap an. Gibt die Anzahl der zum Serialisieren der Replikatschlüssel-Zuordnungsdaten erforderlichen Bytes zurück, wenn pbReplicaKeyMap zu klein ist, oder gibt die Anzahl der geschriebenen Bytes zurück.

Rückgabewert

  • S_OK.

  • E_INVALIDARG, wenn eine Replikat-ID oder ein Replikatschlüssel, der bzw. die in der Zuordnung gespeichert ist, ungültig ist.

  • E_POINTER.

  • E_OUTOFMEMORY.

  • HRESULT_FROM_WIN32(ERROR_MORE_DATA), wenn pbReplicaKeyMap zu klein ist. In diesem Fall wird in pcbReplicaKeyMap die erforderliche Anzahl von Bytes zurückgegeben.

Serialisierungsformat

Die in pbReplicaKeyMap enthaltene serialisierte Replikatschlüsselzuordnung wird in kompakter Form in Big-Endian-Bytereihenfolge gespeichert.

Die serialisierte Replikatschlüsselzuordnung enthält folgende Elemente in dieser Reihenfolge:

Datentyp Länge in Bytes Beschreibung

ULONG

4

Die Replikatschlüssel-Zuordnungssignatur. Dieser Wert ist immer 5.

BOOL

1

Gibt an, ob in der Replikatschlüsselzuordnung enthaltene Replikat-IDs eine feste Länge oder eine variable Länge haben. Dieser Wert beträgt 0, wenn die IDs eine feste Länge haben, oder 1, wenn sie eine variable Länge haben.

USHORT

2

Die Länge von Replikat-IDs in Bytes bei IDs mit fester Länge oder die maximale Länge der ID bei IDs mit variabler Länge.

ULONG

4

Die Anzahl von Einträgen in der Replikatschlüsselzuordnung.

Der Replikatschlüssel-Zuordnungsabschnitt enthält eine Liste von Replikatschlüssel-Zuordnungseinträgen. Die Anzahl der Einträge entspricht dem im vorherigen ULONG enthaltenen Wert.

Bei Replikat-IDs mit fester Länge:

Datentyp Länge in Bytes Beschreibung

Bytefolge

Die Länge wird im Format der Replikat-ID angegeben.

Die Replikat-ID mit fester Länge.

Bei Replikat-IDs mit variabler Länge:

Datentyp Länge in Bytes Beschreibung

USHORT

2

Die Länge der ID mit variabler Länge in Bytes. Diese Länge schließt die zwei Bytes für den USHORT ein, der die Länge enthält, sowie die Bytes, die die tatsächliche ID enthalten.

Bytefolge

Die im vorherigen USHORT angegebene Länge.

Die Replikat-ID mit variabler Länge.

Siehe auch

Verweis

IReplicaKeyMap-Schnittstelle