структура CF_CALLBACK_INFO (cfapi.h)
Содержит общие сведения о обратном вызове, такие как тип обратного вызова, пользовательский процесс, запускающий обратный вызов, и основные сведения о файле, для которого запрашивается обратный вызов.
Синтаксис
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;
Члены
StructSize
Размер CF_CALLBACK_INFO.
ConnectionKey
Непрозрачный дескриптор, созданный CfConnectSyncRoot для корневого каталога синхронизации, управляемого поставщиком синхронизации. ConnectionKey возвращается для удобства, поэтому поставщику синхронизации не нужно отслеживать его вручную.
CallbackContext
Указывает на непрозрачный BLOB-объект, который поставщик синхронизации предоставляет во время корневого подключения синхронизации. CallbackContext возвращается для удобства, поэтому поставщику синхронизации не нужно отслеживать его вручную.
VolumeGuidName
GUID-имя тома, на котором находится файл-заполнитель или каталог для обслуживания. Он имеет следующий вид: "\?\Volume{GUID}".
VolumeDosName
Буква диска DOS тома в виде "X:", где X — это буква диска.
VolumeSerialNumber
Серийный номер тома.
SyncRootFileId
Обслуживаемый в 64-разрядной файловой системе уникальный идентификатор корня синхронизации, в котором находится файл-заполнитель или каталог для обслуживания.
SyncRootIdentity
Указывает на непрозрачный BLOB-объект, предоставленный поставщиком синхронизации во время корневой регистрации синхронизации.
SyncRootIdentityLength
Длина SyncRootIdentity в байтах.
FileId
Хранимый в 64-разрядной файловой системе уникальный идентификатор файла заполнителя или каталога для обслуживания на уровне тома.
FileSize
Логический размер обслуживаемого файла заполнителя. Это всегда 0
, если субъектом обратного вызова является каталог.
FileIdentity
Указывает на непрозрачный BLOB-объект, который поставщик синхронизации предоставляет во время создания, преобразования и обновления заполнителя.
FileIdentityLength
Длина FileIdentity в байтах.
NormalizedPath
Абсолютный путь к файлу заполнителя или каталогу для обслуживания на томе, определяемом VolumeGuidName/VolumeDosName. Он начинается из корневого каталога тома. Дополнительные сведения см. в разделе Примечания .
TransferKey
Непрозрачный дескриптор для обслуживаемого файла или каталога заполнителя. Поставщик синхронизации должен передать его обратно в вызов CfExecute , чтобы выполнить нужную операцию с файлом или каталогом.
PriorityHint
Числовая шкала, предоставляемая поставщику синхронизации для описания относительного приоритета одной выборки по сравнению с другой, чтобы обеспечить максимально быстродействующий интерфейс для пользователя. Значения варьируются от 0
(самый низкий возможный приоритет) до 15
(наивысший возможный приоритет), но в противном случае значения не имеют конкретного значения. Фильтр может настраивать способ выбора указаний приоритета в соответствии с условиями. Поставщик синхронизации может свободно использовать подсказку по его выбору.
CorrelationVector
Необязательный вектор корреляции.
ProcessInfo
Указывает на CF_PROCESS_INFO структуру, содержащую сведения о пользовательском процессе, который запускает этот обратный вызов. Он присутствует, только если поставщик синхронизации указывает CF_CONNECT_FLAG_REQUIRE_PROCESS_INFO во время корневого подключения синхронизации.
RequestKey
Непрозрачный идентификатор, который однозначно идентифицирует операцию облачного файла с определенным облачным файлом, как указано в TransferKey. Поставщикам синхронизации не нужно интерпретировать это поле. Единственное требование к поставщику синхронизации — передать его как есть в CF_OPERATION_INFO.
Комментарии
Имя файла считается нормализованным, если выполняются все перечисленные ниже условия.
- Он содержит полный путь к каталогу для файла, включая имя тома, если пользователь не открыл файл по идентификатору файла, но не имеет права обхода для всего пути. (Дополнительные сведения см. в разделе FltGetFileNameInformation.)
- Имя тома — это непостоянный объект устройства тома (например, \Device\HarddiskVolume1).
- Все короткие имена разворачиваются до эквивалентных длинных имен.
- Все конечные строки ":$DATA" или "::$DATA" удаляются из имени потока.
- Все точки подключения разрешаются.
Требования
Минимальная версия клиента | Windows 10 версии 1709 [только классические приложения] |
Минимальная версия сервера | Windows Server 2016 [только классические приложения] |
Верхняя часть | cfapi.h |