Поделиться через


структура 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

См. также раздел

CfConnectSyncRoot

CfExecute

CF_PROCESS_INFO

CF_OPERATION_INFO

FltGetFileNameInformation