Freigeben über


IFileSyncProvider::Initialize

Initialisiert eine neue Instanz von IFileSyncProvider, die auf dem zu synchronisierenden Ordner und weiteren Einstellungen basiert.

HRESULT Initialize(
  REFGUID guidReplicaId,
  LPCWSTR pcszReplicaRootPath,
  LPCWSTR pcszMetadataFilePath,
  LPCWSTR pcszTempDirectoryPath,
  DWORD dwSyncFlags,
  IFileSyncScopeFilter *pScopeFilter,
  IFileSyncProviderCallback *pCallback,
  LPCWSTR pcszPathToSaveConflictLoserFiles);

Parameter

  • guidReplicaId
    [in] Die ID des Replikats.
  • pcszReplicaRootPath
    [in, string] Der absolute Pfad des lokalen Dateispeichers für diesen Anbieter. Dies ist der Ordner, der die zu synchronisierenden Dateien und Unterordner enthält.
  • pcszMetadataFilePath
    [in, string] Der absolute Pfad und der Dateiname der Metadaten-Speicherdatei. Das Verzeichnis muss vor dem Aufruf dieses Konstruktors erstellt werden. Die Anwendung muss sicherstellen, dass dieses Verzeichnis mit den entsprechenden Sicherheitsberechtigungen geschützt ist, um die Offenlegung von Informationen zu verhindern.
  • pcszTempDirectoryPath
    [in, unique, string] Der absolute Pfad, unter dem temporäre Dateien gespeichert werden. Das Verzeichnis muss vor dem Aufruf dieses Konstruktors erstellt werden. Die Anwendung muss sicherstellen, dass dieses Verzeichnis mit den entsprechenden Sicherheitsberechtigungen geschützt ist, um die Offenlegung von Informationen zu verhindern. Wenn pcszTempDirectoryPath NULL oder eine leere Zeichenfolge ist, werden temporäre Dateien an dem von pcszReplicaRootPath angegebenen Speicherort gespeichert.
  • dwSyncFlags
    [in] Flags, die das Verhalten des Anbieters während der Synchronisierung bestimmen. Dieser Wert muss eine Kombination von Werten aus der FILESYNC_INIT_FLAGS-Enumeration sein.
  • pScopeFilter
    [in, unique] Ein statischer Bereichsfilter, der angibt, welche Dateien oder Verzeichnisse im lokalen Dateispeicher in den Bereich eingeschlossen werden. Kann NULL sein.
  • pCallback
    [in, unique] Eine Rückrufschnittstelle, die Fortschritts- und Statusbenachrichtigungen vom Anbieter empfängt. Kann NULL sein.
  • pcszPathToSaveConflictLoserFiles
    [in, string] Der absolute Pfad, unter dem Dateien gespeichert werden, die Konfliktverlierer sind. Das Verzeichnis muss vor dem Aufruf dieses Konstruktors erstellt werden. In der Anwendung muss sichergestellt werden, dass dieses Verzeichnis mit den entsprechenden Sicherheitsberechtigungen geschützt ist, um die Offenlegung von Informationen zu verhindern. Kann NULL sein.

Rückgabewert

  • S_OK.

  • SYNC_E_FSP_INVALIDOPERATION, wenn Initialize bereits aufgerufen wurde.

  • E_INVALIDARG, wenn beliebige angegebene Pfade relative Pfade sind oder nicht vorhanden sind oder wenn der Metadatenpfad keinen Metadatendateinamen enthält.

  • SYNC_E_METADATA_REPLICA_IN_USE, wenn eine Instanz von IReplicaMetadata, die die von guidReplicaId angegebene Replikat-ID und den von pcszMetadataFilePath angegebenen Metadatenspeicher darstellt, bereits in einem anderen Prozess vorhanden ist.

Hinweise

Informationen, die an die Konstruktoren übergeben werden, werden zur Initialisierung verwendet und sind für die gesamte Lebensdauer der Anbieterinstanz festgelegt. Das bedeutet, dass bei jeder Änderung dieser Einstellungen eine neue Instanz des Anbieters erstellt werden muss. Um beispielsweise den für die Synchronisierung verwendeten Bereichsfilter zu ändern, muss ein neuer Dateisynchronisierungsanbieter erstellt und mit dem neuen Filter initialisiert werden.

Der Dateisynchronisierungsanbieter speichert mithilfe des Metadaten-Speicherdiensts alle Synchronisierungsmetadaten in einer vereinfachten Datenbank. Die Metadaten-Datenbank ist eine Datei. Diese Datei kann mit den zu synchronisierenden Dateien und Ordnern gespeichert werden oder an einem anderen Speicherort, der in Initialize angegeben wird.

Zur Gewährleistung der Sicherheit müssen Verzeichnisse, z. B. das temp-Verzeichnis, mit den entsprechenden Sicherheitsberechtigungen geschützt sein, um die Offenlegung von Informationen zu verhindern.

Siehe auch

Verweis

IFileSyncProvider-Schnittstelle
FILESYNC_INIT_FLAGS-Enumeration