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 位文件系统维护的卷范围唯一 ID。
SyncRootIdentity
指向同步根注册时同步提供程序提供的不透明 Blob。
SyncRootIdentityLength
SyncRootIdentity 的长度(以字节为单位)。
FileId
要服务的占位符文件或目录的 64 位文件系统维护的卷范围唯一 ID。
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
一个不透明 ID,用于唯一标识特定云文件上的云文件操作,如 TransferKey 所指示。 同步提供程序无需解释此字段。 同步提供程序的唯一要求是按原样将其传输到 CF_OPERATION_INFO。
备注
如果以下所有条件都成立,则文件名被视为规范化:
- 它包含文件的完整目录路径(包括卷名称),除非用户按文件 ID 打开了文件,但没有对整个路径的遍历权限。 (有关详细信息,请参阅 FltGetFileNameInformation.)
- 卷名称是卷的非永久性设备对象名称, (例如“\Device\HarddiskVolume1”) 。
- 所有短名称都扩展为等效的长名称。
- 任何尾随“:$DATA”或“:$DATA”字符串都将从流名称中删除。
- 已解析所有装入点。
要求
最低受支持的客户端 | Windows 10版本 1709 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2016 [仅限桌面应用] |
标头 | cfapi.h |