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 |