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 |