Share via


CF_CALLBACK_INFO-Struktur (cfapi.h)

Enthält allgemeine Rückrufinformationen wie den Rückruftyp, den Benutzerprozess, der den Rückruf auslöst, und die grundlegenden Informationen zu der Datei, für die der Rückruf angefordert wird.

Syntax

typedef struct CF_CALLBACK_INFO {
  DWORD               StructSize;
  CF_CONNECTION_KEY   ConnectionKey;
  LPVOID              CallbackContext;
  PCWSTR              VolumeGuidName;
  PCWSTR              VolumeDosName;
  DWORD               VolumeSerialNumber;
  LARGE_INTEGER       SyncRootFileId;
  LPCVOID             SyncRootIdentity;
  DWORD               SyncRootIdentityLength;
  LARGE_INTEGER       FileId;
  LARGE_INTEGER       FileSize;
  LPCVOID             FileIdentity;
  DWORD               FileIdentityLength;
  PCWSTR              NormalizedPath;
  CF_TRANSFER_KEY     TransferKey;
  UCHAR               PriorityHint;
  PCORRELATION_VECTOR CorrelationVector;
  CF_PROCESS_INFO     *ProcessInfo;
  CF_REQUEST_KEY      RequestKey;
} CF_CALLBACK_INFO;

Member

StructSize

Die Größe von CF_CALLBACK_INFO.

ConnectionKey

Ein undurchsichtiges Handle, das von CfConnectSyncRoot für einen Synchronisierungsstamm erstellt wurde, der vom Synchronisierungsanbieter verwaltet wird. ConnectionKey wird als Benutzerfreundlichkeit zurückgegeben, sodass der Synchronisierungsanbieter ihn nicht manuell nachverfolgen muss.

CallbackContext

Verweist auf ein undurchsichtiges Blob, das der Synchronisierungsanbieter zum Zeitpunkt der Synchronisierungsstammverbindung bereitstellt. CallbackContext wird als Benutzerfreundlichkeit zurückgegeben, sodass der Synchronisierungsanbieter sie nicht manuell nachverfolgen muss.

VolumeGuidName

GUID-Name des Volumes, auf dem sich die zu bedienende Platzhalterdatei bzw. das zu bedienende Verzeichnis befindet. Sie hat das Format "\?\Volume{GUID}".

VolumeDosName

DOS-Laufwerkbuchstabe des Volumes in Form von "X:", wobei X der Laufwerkbuchstabe ist.

VolumeSerialNumber

Die Seriennummer des Volumes.

SyncRootFileId

Eine volumeweite eindeutige 64-Bit-Dateisystem-ID des Synchronisierungsstamms, unter dem sich die zu wartende Platzhalterdatei oder das zu wartende Verzeichnis befindet.

SyncRootIdentity

Verweist auf das undurchsichtige Blob, das vom Synchronisierungsanbieter zum Zeitpunkt der Synchronisierungsstammregistrierung bereitgestellt wird.

SyncRootIdentityLength

Die Länge von SyncRootIdentity in Bytes.

FileId

Ein verwaltetes 64-Bit-Dateisystem, volumeweit eindeutige ID der zu wartenden Platzhalterdatei oder des Zu wartenden Verzeichnisses.

FileSize

Die logische Größe der zu bedienenden Platzhalterdatei. Dies ist immer 0 der, wenn der Betreff des Rückrufs ein Verzeichnis ist.

FileIdentity

Verweist auf das undurchsichtige Blob, das der Synchronisierungsanbieter zum Zeitpunkt der Erstellung/Konvertierung/Aktualisierung des Platzhalters bereitstellt.

FileIdentityLength

Die Länge von FileIdentity in Bytes.

NormalizedPath

Der absolute Pfad der Platzhalterdatei oder des Verzeichnisses, die auf dem durch VolumeGuidName/VolumeDosName identifizierten Volume verwaltet werden soll. Sie beginnt im Stammverzeichnis des Volumes. Weitere Informationen finden Sie im Abschnitt Hinweise .

TransferKey

Ein undurchsichtiges Handle für die zu verwaltende Platzhalterdatei/das Verzeichnis. Der Synchronisierungsanbieter muss ihn an den CfExecute-Aufruf zurückgeben, um den gewünschten Vorgang für die Datei/das Verzeichnis auszuführen.

PriorityHint

Eine numerische Skalierung, die dem Synchronisierungsanbieter zugewiesen wird, um die relative Priorität eines Abrufs im Vergleich zu einem anderen Abruf zu beschreiben, um dem Benutzer die reaktionsschnellste Erfahrung zu bieten. Die Werte reichen von 0 (niedrigste mögliche Priorität) bis ( 15 höchste mögliche Priorität), aber andernfalls haben die Werte keine bestimmte Bedeutung. Der Filter kann die Auswahl von Prioritätshinweisen entsprechend den Bedingungen anpassen. Der Synchronisierungsanbieter kann den Hinweis nach wahlfrei verwenden.

CorrelationVector

Ein optionaler Korrelationsvektor.

ProcessInfo

Verweist auf eine CF_PROCESS_INFO Struktur, die die Informationen über den Benutzerprozess enthält, der diesen Rückruf auslöst. Sie ist nur vorhanden, wenn der Synchronisierungsanbieter CF_CONNECT_FLAG_REQUIRE_PROCESS_INFO zum Zeitpunkt der Synchronisierungsstammverbindung angibt.

RequestKey

Eine undurchsichtige ID, die einen Clouddateivorgang für eine bestimmte Clouddatei eindeutig identifiziert, wie durch TransferKey angegeben. Synchronisierungsanbieter müssen dieses Feld nicht interpretieren. Die einzige Anforderung für einen Synchronisierungsanbieter besteht darin, ihn unverändert an CF_OPERATION_INFO zu übertragen.

Bemerkungen

Ein Dateiname gilt als normalisiert, wenn alle folgenden Bedingungen zutreffen:

  • Sie enthält den vollständigen Verzeichnispfad für die Datei, einschließlich des Volumenamens, es sei denn, der Benutzer hat die Datei nach Datei-ID geöffnet, aber nicht über die Berechtigung zum Durchlaufen des gesamten Pfads. (Weitere Informationen finden Sie unter FltGetFileNameInformation.)
  • Der Volumename ist der name des nicht persistenten Geräteobjekts des Volumes (z. B. "\Device\HarddiskVolume1").
  • Alle Kurznamen werden auf die entsprechenden langen Namen erweitert.
  • Alle nachfolgenden Zeichenfolgen ":$DATA" oder "::$DATA" werden aus dem Streamnamen entfernt.
  • Alle Bereitstellungspunkte werden aufgelöst.

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

CfConnectSyncRoot

CfExecute

CF_PROCESS_INFO

CF_OPERATION_INFO

FltGetFileNameInformation