从脱机文件缓存中取消固定文件、目录和网络共享文件夹。 固定在 Windows 用户界面中称为“始终可用的脱机”。
取消固定文件时,不再保证它脱机可用。 如果取消固定操作删除了固定信息的所有实例,即该信息未由文件夹重定向、组策略或用户固定,并且该项没有未同步的脱机更改,则可以随时自动将其从缓存中删除。
语法
HRESULT Unpin(
[in] HWND hwndParent,
[in] LPCWSTR *rgpszPaths,
[in] ULONG cPaths,
[in] BOOL bDeep,
[in] BOOL bAsync,
[in] DWORD dwPinControlFlags,
[in] IOfflineFilesSyncProgress *pIProgress
);
参数
[in] hwndParent
标识显示的任何用户界面元素的父窗口。 如果未在 dwPinControlFlags 参数中设置OFFLINEFILES_PIN_CONTROL_FLAG_INTERACTIVE标志,则忽略此参数。
[in] rgpszPaths
指针数组,每个指针指向要取消固定的文件或目录的完全限定 UNC 路径。
[in] cPaths
rgpszPaths 数组中的路径数。
[in] bDeep
如果提供的一个或多个路径引用目录或共享文件夹,则此参数指示是否也取消固定所有子目录。 如果此参数为 TRUE,则所有子目录均以递归方式取消固定。 如果此参数为 FALSE,则仅取消固定目录的直接子级文件。
[in] bAsync
指示是否要异步执行操作。 如果此参数为 TRUE,则为异步操作计划操作,函数将立即返回。 如果此参数为 FALSE,则函数在操作完成时返回。
[in] dwPinControlFlags
控制取消固定操作的行为。 可以是以下一个或多个标志。
OFFLINEFILES_PIN_CONTROL_FLAG_FILL (0x00000001)
取消固定时忽略。
OFFLINEFILES_PIN_CONTROL_PINLINKTARGETS (0x00000010)
取消固定时忽略。
OFFLINEFILES_PIN_CONTROL_FLAG_FORUSER (0x00000020)
取消固定呼叫用户的项。 这是通常为此函数的调用方设置的标志。 请务必注意,脱机文件不支持真正的按用户固定概念。 为用户固定某个项时,会为该计算机的所有用户固定该项。 但是,访问该固定文件的能力取决于用户对联机时计算的该文件的访问权限。
OFFLINEFILES_PIN_CONTROL_FLAG_FORUSER_POLICY (0x00000040)
取消固定每用户策略的项。 这与“FORUSER”标志的不同之处在于,用户无法通过脱机文件用户界面修改此标志。 在内部,当项目被其组策略扩展名取消固定时,脱机文件会设置此标志。
OFFLINEFILES_PIN_CONTROL_FLAG_FORALL (0x00000080)
取消固定本地计算机所有用户的项。 虽然固定状态适用于所有用户,但访问固定文件的能力取决于用户在联机时计算的该文件的访问权限。
OFFLINEFILES_PIN_CONTROL_FLAG_FORREDIR (0x00000100)
取消固定项目,以便为调用用户进行文件夹重定向。 Windows 文件夹重定向在取消固定重定向的文件夹时设置此标志。
OFFLINEFILES_PIN_CONTROL_FLAG_LOWPRIORITY (0x00000200)
保留供将来使用。
OFFLINEFILES_PIN_CONTROL_FLAG_ASYNCPROGRESS (0x00000400)
进度使用实际操作异步报告给进度接口。 有关行为的详细信息,请参阅异步进度通知部分。 如果未设置此标志,则进度会与每个操作同步报告。
OFFLINEFILES_PIN_CONTROL_FLAG_INTERACTIVE (0x00000800)
如果允许操作根据需要显示用户界面元素,请设置此标志。 例如,系统的凭据请求对话框。 如果设置了此标志,则 hwndParent 中的值将用作显示的任何用户界面元素的父元素。
OFFLINEFILES_PIN_CONTROL_FLAG_CONSOLE (0x00001000)
如果未设置“交互式”标志,则忽略此标志。 如果设置了“交互式”标志,则此标志指示应将生成的任何 UI 定向到与调用操作的进程关联的控制台窗口。
OFFLINEFILES_PIN_CONTROL_FLAG_BACKGROUND (0x00010000)
如果希望取消固定操作以避免在应用程序希望打开当前为固定操作打开的文件时出现共享冲突,请设置此标志。 当出现这种情况并设置此标志时,取消固定操作将“回退”,并且不会在当时完成该特定文件。 此标志主要由脱机文件服务用于内部操作。
[in] pIProgress
与将在操作期间接收进度事件的事件接收器的接口。 如果不需要事件,则此参数可能为 NULL。
返回值
如果成功,则返回 S_OK ,否则返回错误值。
HRESULT_FROM_WIN32(ERROR_CANCELLED)
如果取消操作,则返回 。
注解
如果在进行中取消涉及多个文件的取消固定操作,则不会回滚对已处理到该点的文件的更改。
如果 rgpszPaths 参数中只提供一个路径,并且该路径指向单个文件,则返回值指示该单个取消固定操作的结果。 否则,调用方必须实现以下列表中的进度回调方法并监视 IOfflineFilesSyncProgress::SyncItemResult 方法,以获取每个已处理文件和目录的结果。
进度事件接口 | 方法 | 说明 |
---|---|---|
IOfflineFilesProgress | 开始 | 在操作开始时调用。 |
IOfflineFilesSyncProgress | SyncItemBegin | 在开始处理每个文件时调用。 |
IOfflineFilesSyncProgress | SyncItemResult | 在每个文件取消固定后调用。 |
IOfflineFilesProgress | QueryAbort | 在同步操作期间定期调用以检测取消请求。 |
IOfflineFilesProgress | End | 在操作结束时调用。 |
要求
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | cscobj.h |
DLL | CscSvc.dll;CscObj.dll |