cfGetPlaceholderInfo 函数 (cfapi.h)
获取占位符文件或文件夹的各种特征。 如果文件不是云文件占位符,API 将失败。 成功后,将根据请求的特定 InfoClass 返回信息。
语法
HRESULT CfGetPlaceholderInfo(
[in] HANDLE FileHandle,
[in] CF_PLACEHOLDER_INFO_CLASS InfoClass,
[out] PVOID InfoBuffer,
[in] DWORD InfoBufferLength,
[out, optional] PDWORD ReturnedLength
);
参数
[in] FileHandle
将查询其信息的占位符的句柄。 与大多数采用文件句柄的云文件 API 不同,此 API 不会以任何方式修改文件。 因此,文件句柄只需要 READ_ATTRIBUTES 访问权限。
[in] InfoClass
占位符信息。 这可以设置为 CF_PLACEHOLDER_STANDARD_INFO 或 CF_PLACEHOLDER_BASIC_INFO。
[out] InfoBuffer
指向将接收占位符相关信息的缓冲区的指针。
[in] InfoBufferLength
InfoBuffer 的长度(以字节为单位)。 如果缓冲区不够大,无法容纳所有请求的信息,则 API 将返回尽可能多的数据,并且调用将失败, 并HRESULT_FROM_WIN32 (ERROR_MORE_DATA) 。
[out, optional] ReturnedLength
InfoBuffer 中返回的字节数。
返回值
如果此函数成功,则返回 S_OK
。 否则,将返回 HRESULT 错误代码。
注解
占位符信息包括以下属性:
Attribute | 说明 |
---|---|
OnDiskDataSize | 磁盘上的字节总数。 |
ValidatedDataSize | 与云同步的字节总数。 |
ModifiedDataSize | 已在本地覆盖/追加的总字节数,即与云不同步的字节数。 |
PropertiesSize | 磁盘上所有属性 blob 使用的字节总数。 |
PinState | 有关详细信息,请参阅 CfSetPinState 。 |
InSyncState | 有关详细信息,请参阅 CfSetInSyncState 。 |
FileId | 唯一标识文件或目录的 64 位卷宽非易失性数字。 |
SyncRootFileId | 要查询占位符信息的文件所在的同步根目录的文件 ID。 |
FileIdentity | 同步提供程序在创建占位符时提供给平台的不透明 Blob。 为所有同步提供程序回调提供文件标识。 |
FileIdentityLength | 文件标识的长度(以字节为单位)。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10版本 1709 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2016 [仅限桌面应用] |
目标平台 | Windows |
标头 | cfapi.h |
Library | CldApi.lib |
DLL | CldApi.dll |