CfGetTransferKey 函数 (cfapi.h)

CfGetTransferKey 返回 TransferKey,这是使用 CfExecute API 启动将数据传输到占位符所必需的。

语法

HRESULT CfGetTransferKey(
  [in]  HANDLE          FileHandle,
  [out] CF_TRANSFER_KEY *TransferKey
);

参数

[in] FileHandle

占位符的文件句柄。

[out] TransferKey

要提供服务的占位符的不透明句柄。

返回值

如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

此 API 适用于可能希望主动启动数据传输到占位符的同步提供程序,作为调用 CfHydratePlaceholder 的替代方法。 CfGetTransferKey 返回提取数据回调将返回的相同 TransferKey 。 然后,同步提供程序可以在后续调用中传递 TransferKeyCfExecute API。 通过这种方式,数据传输由同步提供程序而不是筛选器驱动。

同步提供程序应READ_DATA或WRITE_DAC访问要获取其传输密钥的文件,否则 CfGetTransferKey 将失败,并显示 HRESULT (ERROR_CLOUD_FILE_ACCESS_DENIED)

只要用于获取它的 FileHandle 保持打开状态,TransferKey 就有效。 同步提供程序必须将 TransferKey 传递给 CfExecute ,才能对占位符文件或文件夹执行所需的操作。 不再使用 TransferKey 时,必须使用 CfReleaseTransferKey 将其释放。

要求

要求
最低受支持的客户端 Windows 10版本 1709 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
目标平台 Windows
标头 cfapi.h
Library CldApi.lib
DLL CldApi.dll

另请参阅

CfHydratePlaceholder

CfExecute

CfReleaseTransferKey