Freigeben über


CF_CALLBACK_TYPE-Enumeration (cfapi.h)

Enthält die verschiedenen Arten von Rückrufen, die für Platzhalterdateien oder -ordner verwendet werden.

Syntax

typedef enum CF_CALLBACK_TYPE {
  CF_CALLBACK_TYPE_FETCH_DATA,
  CF_CALLBACK_TYPE_VALIDATE_DATA,
  CF_CALLBACK_TYPE_CANCEL_FETCH_DATA,
  CF_CALLBACK_TYPE_FETCH_PLACEHOLDERS,
  CF_CALLBACK_TYPE_CANCEL_FETCH_PLACEHOLDERS,
  CF_CALLBACK_TYPE_NOTIFY_FILE_OPEN_COMPLETION,
  CF_CALLBACK_TYPE_NOTIFY_FILE_CLOSE_COMPLETION,
  CF_CALLBACK_TYPE_NOTIFY_DEHYDRATE,
  CF_CALLBACK_TYPE_NOTIFY_DEHYDRATE_COMPLETION,
  CF_CALLBACK_TYPE_NOTIFY_DELETE,
  CF_CALLBACK_TYPE_NOTIFY_DELETE_COMPLETION,
  CF_CALLBACK_TYPE_NOTIFY_RENAME,
  CF_CALLBACK_TYPE_NOTIFY_RENAME_COMPLETION,
  CF_CALLBACK_TYPE_NONE = 0xffffffff
} ;

Konstanten

 
CF_CALLBACK_TYPE_FETCH_DATA
Dieser Rückruf wird verwendet, um den Synchronisierungsanbieter nach einem Bereich von Dateidaten zu fragen, der erforderlich ist, um eine E/A-Anforderung oder eine explizite Hydrationsanforderung für einen Platzhalter zu erfüllen. Die Implementierung dieses Rückrufs ist erforderlich, wenn der Synchronisierungsanbieter eine Hydratationsrichtlinie angibt, die zum Zeitpunkt der Synchronisierungsstammregistrierung nichtALWAYS_FULL ist.
CF_CALLBACK_TYPE_VALIDATE_DATA
Dieser Rückruf wird verwendet, um den Synchronisierungsanbieter um Bestätigung zu bitten, dass ein bestimmter Bereich von Dateidaten, der bereits auf dem Datenträger aus früheren CF_OPERATION_TYPE_TRANSFER_DATA-Vorgängen vorhanden ist, gültig ist und daher von der Plattform verwendet werden kann, um Benutzer-E/A-Anforderungen zu erfüllen. Die Implementierung dieses Rückrufs ist nur erforderlich, wenn der Synchronisierungsanbieter den Hydratationsrichtlinienmodifizierer angibt , der zum Zeitpunkt der Synchronisierungsstammregistrierung VALIDATION_REQUIRED.
CF_CALLBACK_TYPE_CANCEL_FETCH_DATA
Dieser Rückruf wird verwendet, um den Synchronisierungsanbieter darüber zu informieren, dass ein Bereich von Dateidaten nicht mehr benötigt wird, in der Regel, weil die ursprüngliche Anforderung abgebrochen wurde. Dies ermöglicht es dem Synchronisierungsanbieter, seinen Aufwand für den Abruf der Daten zu beenden (ausstehende Netzwerkanforderungen abbrechen usw.). Die Implementierung dieses Rückrufs ist optional.
CF_CALLBACK_TYPE_FETCH_PLACEHOLDERS
Dieser Rückruf wird verwendet, um den Synchronisierungsanbieter aufzufordern, Informationen über den Inhalt eines Platzhalterverzeichnisses bereitzustellen, um einen Verzeichnisabfragevorgang oder den Versuch, eine Datei unterhalb des Verzeichnisses zu öffnen, zu erfüllen. Die Implementierung dieses Rückrufs ist nur erforderlich, wenn der Synchronisierungsanbieter eine andere Richtlinie als CF_POPULATION_POLICY_ALWAYS_FULL zum Zeitpunkt der Synchronisierungsstammregistrierung angibt.
CF_CALLBACK_TYPE_CANCEL_FETCH_PLACEHOLDERS
Dieser Rückruf wird verwendet, um den Synchronisierungsanbieter darüber zu informieren, dass der Inhalt eines Platzhalterverzeichnisses nicht mehr benötigt wird, in der Regel, weil die ursprüngliche Anforderung abgebrochen wurde. Dies ermöglicht es dem Synchronisierungsanbieter, seine Bemühungen zu beenden, um den Inhalt abzurufen (ausstehende Netzwerkanforderungen abbrechen usw.). Die Implementierung dieses Rückrufs ist optional.
CF_CALLBACK_TYPE_NOTIFY_FILE_OPEN_COMPLETION
Dieser Rückruf wird verwendet, um den Synchronisierungsanbieter darüber zu informieren, dass ein Platzhalter unter einem seiner Synchronisierungswurzeln erfolgreich für Lese-,Schreib-/Löschzugriff geöffnet wurde. Die Benutzeranwendung, die das Öffnen ausführt, wird nicht blockiert. Vom Synchronisierungsanbieter wird keine Antwort erwartet. Diese Benachrichtigung gilt nicht für Verzeichnisse. Die Implementierung dieses Rückrufs ist optional.
CF_CALLBACK_TYPE_NOTIFY_FILE_CLOSE_COMPLETION
Dieser Rückruf wird verwendet, um den Synchronisierungsanbieter darüber zu informieren, dass ein Platzhalter unter einer seiner Synchronisierungswurzeln, der zuvor für Lese-, Schreib-/Löschzugriff geöffnet wurde, jetzt geschlossen ist. Die Benutzeranwendung, die den Schließen ausführt, wird nicht blockiert. Vom Synchronisierungsanbieter wird keine Antwort erwartet. Diese Benachrichtigung gilt nicht für Verzeichnisse. Die Implementierung dieses Rückrufs ist optional.
CF_CALLBACK_TYPE_NOTIFY_DEHYDRATE
Dieser Rückruf wird verwendet, um den Synchronisierungsanbieter darüber zu informieren, dass ein Platzhalter unter einem Synchronisierungsstamm dehydriert wird. Die Benutzeranwendung, die die Dehydrierung durchführt, wird blockiert. Es wird eine Antwort vom Synchronisierungsanbieter erwartet. Die Implementierung dieses Rückrufs ist optional.
CF_CALLBACK_TYPE_NOTIFY_DEHYDRATE_COMPLETION
Dieser Rückruf wird verwendet, um den Synchronisierungsanbieter darüber zu informieren, dass ein Platzhalter unter einem seiner Synchronisierungswurzeln erfolgreich dehydriert wurde. Die Benutzeranwendung, die die Dehydrierung durchführt, wird nicht blockiert. Vom Synchronisierungsanbieter wird keine Antwort erwartet. Die Implementierung dieses Rückrufs ist optional.
CF_CALLBACK_TYPE_NOTIFY_DELETE
Dieser Rückruf wird verwendet, um den Synchronisierungsanbieter darüber zu informieren, dass ein Platzhalter unter einem seiner Synchronisierungsstamme gelöscht wird. Die Benutzeranwendung, die den Löschvorgang ausführt, wird blockiert. Es wird eine Antwort vom Synchronisierungsanbieter erwartet. Die Implementierung dieses Rückrufs ist optional.
CF_CALLBACK_TYPE_NOTIFY_DELETE_COMPLETION
Dieser Rückruf wird verwendet, um den Synchronisierungsanbieter darüber zu informieren, dass ein Platzhalter unter einem seiner Synchronisierungswurzeln erfolgreich gelöscht wurde. Die Benutzeranwendung, die den Löschvorgang durchführt, wird nicht blockiert. Vom Synchronisierungsanbieter wird keine Antwort erwartet. Die Implementierung dieses Rückrufs ist optional.
CF_CALLBACK_TYPE_NOTIFY_RENAME
Dieser Rückruf wird verwendet, um den Synchronisierungsanbieter darüber zu informieren, dass ein Platzhalter unter einem seiner Synchronisierungsstamme umbenannt oder verschoben werden soll. Die Benutzeranwendung, die die Umbenennung/Verschiebung durchführt, wird blockiert. Es wird eine Antwort vom Synchronisierungsanbieter erwartet. Die Implementierung dieses Rückrufs ist optional.
CF_CALLBACK_TYPE_NOTIFY_RENAME_COMPLETION
Dieser Rückruf wird verwendet, um den Synchronisierungsanbieter darüber zu informieren, dass ein Platzhalter unter einem seiner Synchronisierungswurzeln erfolgreich umbenannt oder verschoben wurde. Die Benutzeranwendung, die die Umbenennung/Verschiebung durchführt, ist nicht blockiert. Vom Synchronisierungsanbieter wird keine Antwort erwartet. Die Implementierung dieses Rückrufs ist optional.
CF_CALLBACK_TYPE_NONE
Wert: 0xffffffff
Kein Rückruftyp.

Hinweise

Dabei handelt es sich nicht um APIs, die von der Bibliothek bereitgestellt werden, sondern um Rückrufe, die ein Synchronisierungsanbieter implementieren muss, um Anforderungen von der Plattform zu warten. Bei Bedarf fordert die Plattform die Bibliothek instance, die innerhalb des Synchronisierungsanbieterprozesses ausgeführt werden, um die entsprechende Rückrufroutine aufzurufen.

Rückrufroutinen werden in einem beliebigen Thread (Teil eines Threadpools) aufgerufen. Mehrere Rückrufe können gleichzeitig in verschiedenen Threads erfolgen, und es liegt in der Verantwortung des Synchronisierungsanbietercodes, alle erforderlichen Synchronisierungen zu implementieren, damit dies zuverlässig funktioniert. Alle Rückrufe sind asynchron. Asynchrone Benutzeranforderungen, die die Rückrufe auslösen, werden geschrieben, und das Steuerelement wird an die Benutzeranwendung zurückgegeben.

Jede Rückrufanforderung verfügt über ein festes Timeout von 60 Sekunden. Ein gültiger Vorgang für alle ausstehenden Anforderungen des Synchronisierungsanbieters setzt die Timer aller ausstehenden Anforderungen zurück.

Alle Rückruffunktionen verfügen über denselben Prototyp mit zwei Argumenten: einer CF_CALLBACK_INFO-Struktur und einer CF_CALLBACK_PARAMETERS-Struktur .

Rückrufroutinen haben keinen Rückgabewert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1709 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2016 [nur Desktop-Apps]
Kopfzeile cfapi.h

Weitere Informationen

CF_CALLBACK_INFO

CF_CALLBACK_PARAMETERS