Freigeben über


ISyncMetadataStoreSerializer::DeserializeReplicaMetadata

Deserialisiert den Inhalt einer kanonischen Metadatendatei in einen Metadaten-Speicherdienstspeicher. Aktualisiert optional das Metadaten-Speicherformat, wenn sich die Anbieterversion ändert.

HRESULT DeserializeReplicaMetadata(
  IStream * pStream,
  DWORD dwExpectedProviderCompatibilityVersion,
  IProviderMetadataUpgradeCallback * pProviderUpgradeCallback);

Parameter

  • pStream
    [in] Der Stream, der die serialisierten Metadaten für ein bestimmtes Replikat enthält.
  • dwExpectedProviderCompatibilityVersion
    [in] Die Anbieterkompatibilitätsversion, die in der kanonischen Metadatendatei enthalten sein sollte. Wenn die erwartete Version nicht zur tatsächlichen Version passt, schlägt die Deserialisierung entweder fehl, wenn pProviderUpgradeCallback NULL ist, oder pProviderUpgradeCallback-Methoden werden aufgerufen, wenn pProviderUpgradeCallback nicht NULL ist. Weitere Informationen finden Sie unter Zugreifen auf Metadaten von Komponenten anderer Versionen und Aktualisieren der Metadatenspeicherversion.
  • pProviderUpgradeCallback
    [in] Rückrufmethoden, die aufgerufen werden, wenn das Metadaten-Speicherformat aktualisiert werden muss, da die in den serialisierten Metadaten enthaltene Anbieterversion nicht die gleiche wie dwExpectedProviderCompatibilityVersion ist.

Rückgabewert

  • S_OK.

  • S_FALSE, wenn der höchste Taktanzahlwert im serialisierten Stream kleiner als oder gleich dem höchsten Taktanzahlwert im Metadatenspeicher ist. In diesem Fall gibt es keine weiteren zu deserialisierenden Metadaten.

  • E_OUTOFMEMORY

  • E_POINTER

  • SYNC_E_INVALIDOPERATION, wenn die Methode ohne geöffneten Metadatenspeicher aufgerufen wird.

  • SYNC_E_METADATA_ACTIVE_TRANSACTION_REQUIRED, wenn keine Transaktion verfügbar ist, in der Metadaten deserialisiert werden können.

  • SYNC_E_METADATA_STORE_DESERIALIZATION_ERROR, wenn während der Deserialisierung Dateiformatfehler auftreten oder wenn der Inhalt der Datei nicht mit dem Schema des Zielreplikats kompatibel ist.

  • SYNC_E_METADATA_STORE_DESERIALIZATION_PROVIDER_VERSION_MISMATCH, wenn die für dwExpectedProviderCompatibilityVersion angegebene Anbieterkompatibilitätsversion nicht mit der Version übereinstimmt, die in der kanonischen Metadatendatei angegebenen wurde, und pProviderUpgradeCallback den Wert NULL aufweist.

Hinweise

Drei Bedingungen müssen erfüllt sein, bevor diese Methode aufgerufen wird:

Wenn diese Methode aufgerufen wird und eine dieser Bedingungen nicht erfüllt ist, wird ein Fehlerwert zurückgegeben.

Diese Methode kann als Teil der Prozedur zum Aktualisieren des Metadatenschemas verwendet werden, wenn sich die Anbieterversion ändert. Weitere Informationen finden Sie unter Aktualisieren der Metadatenspeicherversion.

Siehe auch

Verweis

ISyncMetadataStoreSerializer-Schnittstelle