CfSetPinState 函数 (cfapi.h)

这会设置占位符的固定状态,该占位符用于表示用户的意向。 任何应用程序 (不只是同步提供程序) 都可以调用此函数。

语法

HRESULT CfSetPinState(
  [in]                HANDLE           FileHandle,
  [in]                CF_PIN_STATE     PinState,
  [in]                CF_SET_PIN_FLAGS PinFlags,
  [in, out, optional] LPOVERLAPPED     Overlapped
);

参数

[in] FileHandle

占位符文件的句柄。 平台将操作与其他活动请求正确同步。 属性或无访问句柄就足够了。 调用方必须具有 READ_DATAWRITE_DAC 占位符的访问权限,否则操作将失败 并STATUS_CLOUD_FILE_ACCESS_DENIED

[in] PinState

占位符文件的固定状态。 有关有效 PinState 值的列表,请参阅 CF_PIN_STATE

[in] PinFlags

引脚状态标志。 PinFlags 可以设置为以下值:

  • 如果指定 了CF_PIN_FLAG_RECURSE ,平台会将固定状态应用于 FileHandle ,并且仅当 FileHandle 是目录) 的句柄时,它下面的每个文件才 (相关。
  • 如果指定 了CF_PIN_FLAG_RECURSE_ONLY ,平台以递归方式将固定状态应用于 FileHandle 下的每个文件,但不应用于 FileHandle 本身。
  • 如果指定 了CF_PIN_FLAG_RECURSE_STOP_ERROR ,则平台将在遇到第一个错误时停止递归。 否则,平台将跳过错误并继续递归。

[in, out, optional] Overlapped

允许异步执行调用。 有关更多详细信息,请参阅 “备注 ”部分。

返回值

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

注解

当指定并与异步 FileHandle 结合使用时, Overlapped 允许平台异步执行调用。

调用方必须已使用要等待的事件初始化重叠结构。 如果返回 HRESULT_FROM_WIN32 (ERROR_IO_PENDING) ,则调用方可以使用 GetOverlappedResult 等待。 如果未指定,平台将同步执行 API 调用,而不考虑句柄的创建方式。

要求

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

另请参阅

GetOverlappedResult

CF_PIN_STATE

CF_SET_PIN_FLAGS