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_INFOCF_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

另请参阅

CfSetPinState

CfSetInSyncState

CF_PLACEHOLDER_STANDARD_INFO

CF_PLACEHOLDER_BASIC_INFO