此函数设置占位符的引脚状态,该状态表示用户的意图。 任何应用程序(而不仅仅是同步提供程序)都可以调用此函数。
Syntax
HRESULT CfSetPinState(
[in] HANDLE FileHandle,
[in] CF_PIN_STATE PinState,
[in] CF_SET_PIN_FLAGS PinFlags,
[in, out, optional] LPOVERLAPPED Overlapped
);
参数
[in] FileHandle
占位符文件的句柄。 平台将作与其他活动请求正确同步。 属性或无访问句柄已足够。 调用方必须具有对占位符 READ_DATA 或 WRITE_DAC 访问权限。 否则,该作会失败 并STATUS_CLOUD_FILE_ACCESS_DENIED。
[in] PinState
占位符文件的引脚状态。 有关有效 PinState 值的列表,请参阅 CF_PIN_STATE。
[in] PinFlags
引脚状态标志。 将 PinFlags 设置为以下值之一:
- 如果指定 CF_SET_PIN_FLAG_RECURSE,平台会将引脚状态应用于 FileHandle ,并且每个文件都以递归方式应用于该文件下方。 仅当 FileHandle 是目录的句柄时,此标志才相关。
- 如果指定 CF_SET_PIN_FLAG_RECURSE_ONLY,则平台将固定状态以递归方式应用于 FileHandle 下的每个文件,但不适用于 FileHandle 本身。
- 如果指定 CF_SET_PIN_FLAG_RECURSE_STOP_ON_ERROR,则平台在遇到第一个错误时停止递归。 否则,平台将跳过错误并继续递归。
使用 CF_SET_PIN_FLAG_NONE 指定无标志。
[in, out, optional] Overlapped
允许异步执行调用。 有关更多详细信息,请参阅 “备注 ”部分。
返回值
如果此函数成功,则返回 S_OK。 否则,它将返回 HRESULT 错误代码。
注解
在指定异步 FileHandle 并将其与 重叠合并时,平台可以异步执行调用。
必须使用要等待的事件初始化重叠结构。 如果此函数返回 HRESULT_FROM_WIN32(ERROR_IO_PENDING),则可以使用 GetOverlappedResult 等待。 如果未指定此参数,则无论如何创建句柄,平台都会同步执行 API 调用。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows 10 版本 1709 [仅限桌面应用] |
| 支持的最低服务器 | Windows Server 2016 [仅限桌面应用] |
| 目标平台 | Windows操作系统 |
| Header | cfapi.h |
| Library | CldApi.lib |
| DLL | CldApi.dll |