CF_CALLBACK_PARAMETERS-Struktur (cfapi.h)

Diese Struktur enthält Rückruf-spezifische Parameter wie Dateioffset, Länge, Flags usw.

Syntax

typedef struct CF_CALLBACK_PARAMETERS {
  ULONG ParamSize;
  union {
    struct {
      CF_CALLBACK_CANCEL_FLAGS Flags;
      union {
        struct {
          LARGE_INTEGER FileOffset;
          LARGE_INTEGER Length;
        } FetchData;
      } DUMMYUNIONNAME;
    } Cancel;
    struct {
      CF_CALLBACK_FETCH_DATA_FLAGS   Flags;
      LARGE_INTEGER                  RequiredFileOffset;
      LARGE_INTEGER                  RequiredLength;
      LARGE_INTEGER                  OptionalFileOffset;
      LARGE_INTEGER                  OptionalLength;
      LARGE_INTEGER                  LastDehydrationTime;
      CF_CALLBACK_DEHYDRATION_REASON LastDehydrationReason;
    } FetchData;
    struct {
      CF_CALLBACK_VALIDATE_DATA_FLAGS Flags;
      LARGE_INTEGER                   RequiredFileOffset;
      LARGE_INTEGER                   RequiredLength;
    } ValidateData;
    struct {
      CF_CALLBACK_FETCH_PLACEHOLDERS_FLAGS Flags;
      PCWSTR                               Pattern;
    } FetchPlaceholders;
    struct {
      CF_CALLBACK_OPEN_COMPLETION_FLAGS Flags;
    } OpenCompletion;
    struct {
      CF_CALLBACK_CLOSE_COMPLETION_FLAGS Flags;
    } CloseCompletion;
    struct {
      CF_CALLBACK_DEHYDRATE_FLAGS    Flags;
      CF_CALLBACK_DEHYDRATION_REASON Reason;
    } Dehydrate;
    struct {
      CF_CALLBACK_DEHYDRATE_COMPLETION_FLAGS Flags;
      CF_CALLBACK_DEHYDRATION_REASON         Reason;
    } DehydrateCompletion;
    struct {
      CF_CALLBACK_DELETE_FLAGS Flags;
    } Delete;
    struct {
      CF_CALLBACK_DELETE_COMPLETION_FLAGS Flags;
    } DeleteCompletion;
    struct {
      CF_CALLBACK_RENAME_FLAGS Flags;
      PCWSTR                   TargetPath;
    } Rename;
    struct {
      CF_CALLBACK_RENAME_COMPLETION_FLAGS Flags;
      PCWSTR                              SourcePath;
    } RenameCompletion;
  } DUMMYUNIONNAME;
} CF_CALLBACK_PARAMETERS;

Member

ParamSize

ParamSize wird basierend auf dem ausgeführten Rückruf festgelegt.

Rückruf ParamSize-Informationen
CF_CALLBACK_TYPE_FETCH_DATA Legen Sie auf die Größe von FetchData plus die Größe eines fest ULONG.
CF_CALLBACK_TYPE_VALIDATE_DATA Legen Sie auf die Größe von ValidateData plus die Größe eines fest ULONG.
CF_CALLBACK_TYPE_CANCEL_FETCH_DATA Legen Sie auf die Größe von Cancel.FetchData plus die Größe von zwei ULONGs fest.
CF_CALLBACK_TYPE_FETCH_PLACHOLDERS Legen Sie auf die Größe von FetchPlaceholders plus die Größe eines fest ULONG.
CF_CALLBACK_TYPE_CANCEL_FETCH_PLACHOLDERS Legen Sie die Größe von zwei ULONGs fest.
CF_CALLBACK_TYPE_NOTIFY_FILE_OPEN_COMPLETION Legen Sie auf die Größe von OpenCompletion plus die Größe eines fest ULONG.
CF_CALLBACK_TYPE_NOTIFY_FILE_CLOSE_COMPLETION legen Sie auf die Größe von CloseCompletion plus die Größe eines fest ULONG.
CF_CALLBACK_TYPE_NOTIFY_DEHYDRATE Legen Sie auf die Größe von Dehydrate plus die Größe eines fest ULONG.
CF_CALLBACK_TYPE_NOTIFY_DEHYDRATE_COMPLETION Legen Sie auf die Größe von DehydrateCompletion plus die Größe eines fest ULONG.
CF_CALLBACK_TYPE_NOTIFY_DELETE Legen Sie auf die Größe von Delete plus die Größe eines fest ULONG.
CF_CALLBACK_TYPE_NOTIFY_DELETE_COMPLETION Legen Sie auf die Größe von DeleteCompletion plus die Größe eines fest ULONG.
CF_CALLBACK_TYPE_NOTIFY_RENAME Legen Sie auf die Größe von Rename plus die Größe eines fest ULONG.
CF_CALLBACK_TYPE_NOTIFY_RENAME_COMPLETION Legen Sie auf die Größe von RenameCompletion plus die Größe eines fest ULONG.

DUMMYUNIONNAME

DUMMYUNIONNAME.Cancel

DUMMYUNIONNAME.Cancel.Flags

Flags können auf die folgenden Flags festgelegt werden:

  • CF_CALLBACK_CANCEL_FLAG_IO_TIMEOUT wird festgelegt, wenn die Benutzeranforderung aufgrund des Ablaufs des Timers von 60 Sekunden abgebrochen wird.
  • CF_CALLBACK_CANCEL_FLAG_IO_ABORTED wird festgelegt, wenn die Benutzeranforderung abgebrochen wird, weil der Benutzer die Hydration aus dem App-initiierten Download-Popup explizit beendet hat.

DUMMYUNIONNAME.Cancel.DUMMYUNIONNAME

DUMMYUNIONNAME.Cancel.DUMMYUNIONNAME.FetchData

DUMMYUNIONNAME.Cancel.DUMMYUNIONNAME.FetchData.FileOffset

Der Offset in Bytes zum Angeben des Bereichs der nicht mehr benötigten Dateidaten. Beachten Sie, dass dies möglicherweise mit dem RequiredFileOffset aus dem entsprechenden Abruf übereinstimmt, aber auch eine Teilmenge sein kann. Wenn es sich um eine Teilmenge handelt, werden weiterhin Daten außerhalb des Abbruchbereichs benötigt, z. B. um ausstehende E/A-Vorgänge zu erfüllen, die später eingetroffen sind.

DUMMYUNIONNAME.Cancel.DUMMYUNIONNAME.FetchData.Length

Die Länge der nicht mehr benötigten Dateidaten in Bytes. Beachten Sie, dass dies möglicherweise mit der RequiredLength aus dem entsprechenden Abruf übereinstimmt, aber auch eine Teilmenge sein kann. Wenn es sich um eine Teilmenge handelt, werden weiterhin Daten außerhalb des Abbruchbereichs benötigt, z. B. um ausstehende E/A-Vorgänge zu erfüllen, die später eingetroffen sind.

DUMMYUNIONNAME.FetchData

DUMMYUNIONNAME.FetchData.Flags

Flags können auf die folgenden Werte festgelegt werden:

  • CF_CALLBACK_FETCH_DATA_FLAG_RECOVER wird festgelegt, wenn der Rückruf als Ergebnis eines zuvor unterbrochenen Hydrationsprozesses aufgerufen wird, entweder aufgrund eines unsauberen Herunterfahrens des Synchronisierungsanbieters oder eines Stromausfalls usw.
  • CF_CALLBACK_FETCH_DATA_FLAG_EXPLICIT_HYDRATION wird festgelegt, wenn der Rückruf als Ergebnis eines Aufrufs von CfHydratePlaceholder aufgerufen wird.

DUMMYUNIONNAME.FetchData.RequiredFileOffset

Der Offset in Bytes für die Angabe des Bereichs der Dateidaten, der vom Filter unbedingt benötigt wird, um ausstehende E/A-Anforderungen zu erfüllen.

DUMMYUNIONNAME.FetchData.RequiredLength

Die Länge der Dateidaten in Bytes, die vom Filter unbedingt benötigt werden, um ausstehende E/A-Anforderungen zu erfüllen.

DUMMYUNIONNAME.FetchData.OptionalFileOffset

Der Offset in Bytes wird als Hinweis auf einen breiteren Bereich von Dateidaten bereitgestellt, die der Plattform nützlich gegeben werden könnten, falls der Synchronisierungsanbieter daten lieber in größeren Blöcken bereitstellt. In der Regel ist der optionale Bereich der maximal zusammenhängende Bereich, der derzeit nicht im Platzhalter vorhanden ist. Dies ist optional und kann verwendet werden, wenn der Synchronisierungsanbieter lieber mit größeren Datensegmenten arbeitet.

DUMMYUNIONNAME.FetchData.OptionalLength

Die Länge in Bytes wird als Hinweis auf einen breiteren Bereich von Dateidaten angegeben, die der Plattform nützlich gegeben werden könnten, falls der Synchronisierungsanbieter daten lieber in größeren Blöcken bereitstellt. In der Regel ist der optionale Bereich der maximal zusammenhängende Bereich, der derzeit nicht im Platzhalter vorhanden ist. Dies ist optional und kann verwendet werden, wenn der Synchronisierungsanbieter lieber mit größeren Datensegmenten arbeitet.

Eine Länge von -1, die als CF_EOFbezeichnet wird, bedeutet unendlich (d. h. bis zum Ende der Datei).

Es ist nicht erforderlich, dass der Synchronisierungsanbieter alle erforderlichen Daten auf einmal zurückgibt. Es ist auch nicht erforderlich, dass der Synchronisierungsanbieter die Daten innerhalb des erforderlichen oder optionalen Bereichs zurückgibt. Die Plattform stellt unter keinen Umständen sicher, dass geänderte/nicht synchronisierte Dateidaten aufgrund eines ungültigen CF_OPERATION_TYPE_TRANSFER_DATA-Vorgangs verstopft werden. Die zurückgegebenen Daten müssen jedoch für den Offset und die Länge 4 KB ausgerichtet sein, es sei denn, der zurückgegebene Bereich endet am Ende der Datei. In diesem Fall muss die Länge nicht um 4 KB ausgerichtet sein, wenn der Bereich am Ende der Datei oder darüber hinaus endet.

DUMMYUNIONNAME.FetchData.LastDehydrationTime

Der Systemzeitpunkt, zu dem die betreffende Clouddatei dehydriert wurde. Es ist eine Anzahl von 100-Nanosekundenintervallen seit dem 1. Januar 1601.

DUMMYUNIONNAME.FetchData.LastDehydrationReason

Ein Element der CF_CALLBACK_DEHYDRATION_REASON-Enumeration , die den Grund angibt, warum die Datei zuletzt dehydriert wurde.

LastDehydrationReason kann eine der folgenden Sein:

`Reason` BESCHREIBUNG
CF_CALLBACK_DEHYDRATE_REASON_NEVER Die Clouddatei wurde nach ihrer Erstellung nie dehydriert.
CF_CALLBACK_DEHYDRATE_REASON_USER_MANUAL Der Benutzer hat die Clouddatei explizit dehydriert.
CF_CALLBACK_DEHYDRATE_REASON_SYSTEM_PERIODIC Die Plattform hat die Clouddatei basierend auf benutzerdefinierten Richtlinien ausgealtert.
CF_CALLBACK_DEHYDRATE_REASON_SYSTEM_LOWSPACE Die Plattform hat die Clouddatei dehydriert, wenn auf dem Volume, auf dem sich diese Datei befindet, nur wenig Speicherplatz auf dem Datenträger auftritt.
CF_CALLBACK_DEHYDRATE_REASON_SYSTEM_UPGRADE Die Plattform hat diese Datei beim Abrufen von Speicherplatz zum Upgrade des Betriebssystems dehydriert.

DUMMYUNIONNAME.ValidateData

DUMMYUNIONNAME.ValidateData.Flags

Datenvalidierungsflags. CF_CALLBACK_VALIDATE_DATA_FLAG_EXPLICIT_HYDRATION wird festgelegt, wenn der Rückruf als Ergebnis eines Aufrufs von CfHydratePlaceholder aufgerufen wird.

DUMMYUNIONNAME.ValidateData.RequiredFileOffset

Der Offset in Bytes zum Angeben des Bereichs der zu überprüfenden Dateidaten.

DUMMYUNIONNAME.ValidateData.RequiredLength

Die Länge des Zu überprüfenden Dateidatenbereichs in Bytes. Eine Länge von -1, die als CF_EOFbezeichnet wird, bedeutet unendlich (d. h. bis zum Ende der Datei).

Es ist nicht erforderlich, dass der Synchronisierungsanbieter alle erforderlichen Daten gleichzeitig bestätigt. Es ist auch nicht erforderlich, dass der Synchronisierungsanbieter die Daten innerhalb des erforderlichen Bereichs bestätigt. Die Plattform stellt unter keinen Umständen sicher, dass geänderte/nicht synchronisierte Dateidaten aufgrund eines ungültigen CF_OPERATION_TYPE_ACT_DATA-Vorgangs verstopft werden. Die bestätigten Daten müssen jedoch sowohl für den Offset als auch für die Länge 4 KB ausgerichtet sein, es sei denn, der zurückgegebene Bereich endet am Ende der Datei. In diesem Fall muss die Länge nicht mit 4 KB ausgerichtet sein, wenn der Bereich am Ende der Datei oder darüber hinaus endet.

DUMMYUNIONNAME.FetchPlaceholders

DUMMYUNIONNAME.FetchPlaceholders.Flags

Dieser Flags-Wert sollte auf CF_CALLBACK_FETCH_PLACEHOLDERS_FLAG_NONE festgelegt werden.

DUMMYUNIONNAME.FetchPlaceholders.Pattern

Ein Windows-Standarddateimuster, das möglicherweise Einen Feldhalter (?, *) enthalten kann. Oft ist * das Muster, aber es könnte spezifischer sein. Es wird erwartet, dass der Synchronisierungsanbieter mit der Übertragung von Platzhalterinformationen für alle Dateien im Verzeichnis mit CF_OPERATION_TYPE_TRANSFER_PLACEHOLDERS beginnt. Der Synchronisierungsanbieter muss als Mindestanforderung alle Platzhalter übertragen, die dem Muster entsprechen, aber nicht unbedingt in einem Einzigen. Der Synchronisierungsanbieter kann sich zusätzlich dafür entscheiden, Platzhalter zu übertragen, die nicht dem Muster entsprechen.

DUMMYUNIONNAME.OpenCompletion

DUMMYUNIONNAME.OpenCompletion.Flags

Platzhalter: Offene Vervollständigungsflags. Es kann auf eines der beiden folgenden Flags festgelegt werden:

  • CF_CALLBACK_OPEN_COMPLETION_FLAG_PLACEHOLDER_UNKNOWN wird festgelegt, wenn die Platzhaltermetadaten beschädigt sind.
  • CF_CALLBACK_OPEN_COMPLETION_FLAG_PLACEHOLDER_UNSUPPORTED wird festgelegt, wenn die Platzhaltermetadaten einer älteren und nicht unterstützten Version entsprechen.

DUMMYUNIONNAME.CloseCompletion

DUMMYUNIONNAME.CloseCompletion.Flags

Platzhalter-Vervollständigungsflags. Er kann auf CF_CALLBACK_CLOSE_COMPLETION_FLAG_DELETED festgelegt werden, wenn der Platzhalter infolge des Schließens gelöscht wird.

DUMMYUNIONNAME.Dehydrate

DUMMYUNIONNAME.Dehydrate.Flags

Dehydrierungsflags für Platzhalter. Er kann auf CF_CALLBACK_DEHYDRATE_FLAG_BACKGROUND festgelegt werden, wenn die Dehydrierungsanforderung von einem Systemhintergrunddienst initiiert wird.

DUMMYUNIONNAME.Dehydrate.Reason

Die Reason ist ein Member der CF_CALLBACK_DEHYDRATION_REASON Enumeration, die den Grund angibt, warum der Platzhalter dehydriert wird. Es kann sich um einen der folgenden Werte handeln:

`Reason` BESCHREIBUNG
CF_CALLBACK_DEHYDRATE_REASON_USER_MANUAL Der Benutzer fordert explizit auf, die Clouddatei zu deaktivieren.
CF_CALLBACK_DEHYDRATE_REASON_SYSTEM_INACTIVITY Die Plattform altert die Clouddatei in regelmäßigen Abständen basierend auf benutzerdefinierten Richtlinien aus.
CF_CALLBACK_DEHYDRATE_REASON_SYSTEM_LOW_SPACE Die Plattform weist auf dem Volume, auf dem sich diese Clouddatei befindet, nur wenig Speicherplatz auf.
CF_CALLBACK_DEHYDRATE_REASON_SYSTEM_OS_UPGRADE Die Plattform gibt Speicherplatz zurück, um das Betriebssystem zu aktualisieren.

DUMMYUNIONNAME.DehydrateCompletion

DUMMYUNIONNAME.DehydrateCompletion.Flags

Platzhalter-Dehydrierungs-Vervollständigungsflags. Er kann auf die folgenden Werte festgelegt werden:

  • CF_CALLBACK_DEHYDRATE_COMPLETION_FLAG_BACKGROUND wird festgelegt, wenn die Dehydrierungsanforderung von einem Systemhintergrunddienst initiiert wird.
  • CF_CALLBACK_DEHYDRATE_COMPLETION_FLAG_DEHYDRATED wird festgelegt, wenn der Placer vor der Dehydrierungsanforderung hydratisiert wurde.

DUMMYUNIONNAME.DehydrateCompletion.Reason

Reason ist ein Member der CF_CALLBACK_DEHYDRATION_REASON-Enumeration, die den Grund angibt, warum der Platzhalter dehydriert wurde. Es kann sich um einen der folgenden Werte handeln:

`Reason` BESCHREIBUNG
CF_CALLBACK_DEHYDRATE_REASON_USER_MANUAL Der Benutzer fordert explizit auf, die Clouddatei zu deaktivieren.
CF_CALLBACK_DEHYDRATE_REASON_SYSTEM_INACTIVITY Die Plattform altert die Clouddatei in regelmäßigen Abständen basierend auf benutzerdefinierten Richtlinien aus.
CF_CALLBACK_DEHYDRATE_REASON_SYSTEM_LOW_SPACE Die Plattform weist auf dem Volume, auf dem sich diese Clouddatei befindet, nur wenig Speicherplatz auf.
CF_CALLBACK_DEHYDRATE_REASON_SYSTEM_OS_UPGRADE Die Plattform gibt Speicherplatz zurück, um das Betriebssystem zu aktualisieren.

DUMMYUNIONNAME.Delete

DUMMYUNIONNAME.Delete.Flags

Platzhalterlöschflags. Sie ist auf CF_CALLBACK_DELETE_FLAG_NONE festgelegt.

DUMMYUNIONNAME.DeleteCompletion

DUMMYUNIONNAME.DeleteCompletion.Flags

Platzhalterlöschungsflags. Sie ist auf CF_CALLBACK_DELETE_COMPLETION_FLAG_NONE festgelegt.

DUMMYUNIONNAME.Rename

DUMMYUNIONNAME.Rename.Flags

Benennen Sie Platzhalterflags um. Er kann auf die folgenden Werte festgelegt werden:

  • CF_CALLBACK_RENAME_FLAG_IS_DIRECTORY wird festgelegt, wenn der Platzhalter ein Verzeichnis ist.
  • CF_CALLBACK_RENAME_FLAG_SOURCE_IN_SCOPE wird festgelegt, wenn sich der umzubenennte oder zu verschiebende Link in einem Synchronisierungsstamm befindet, der vom Synchronisierungsprozess verwaltet wird.
  • CF_CALLBACK_RENAME_FLAG_TARGET_IN_SCOPE wird festgelegt, wenn sich das Umbenennungs- oder Verschiebungsziel im selben Synchronisierungsstamm des Quellpfads befindet.

DUMMYUNIONNAME.Rename.TargetPath

Der vollständige Umbenennungs-/Verschieben-Zielpfad relativ zum Volume.

DUMMYUNIONNAME.RenameCompletion

DUMMYUNIONNAME.RenameCompletion.Flags

Die Platzhalterflags für den Umbenennungsabschluss. Sie ist auf CF_CALLBACK_RENAME_COMPLETION_FLAG_NONE festgelegt.

DUMMYUNIONNAME.RenameCompletion.SourcePath

Der vollständige Quelllinkpfad relativ zum Volume.

Anforderungen

   
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

CfHydratePlaceholder

CF_CALLBACK_TYPE

CF_CALLBACK_DEHYDRATION_REASON