IOfflineFilesCache::D eleteItemsForUser 方法 (cscobj.h)
从本地缓存中删除用户的文件和目录。 删除容器项意味着以递归方式删除其包含的所有项。
语法
HRESULT DeleteItemsForUser(
[in] LPCWSTR pszUser,
[in] LPCWSTR *rgpszPaths,
[in] ULONG cPaths,
[in] DWORD dwFlags,
[in] BOOL bAsync,
[in] IOfflineFilesSimpleProgress *pIProgress
);
参数
[in] pszUser
标识要为其删除文件的用户的文本字符串。 此选项仅适用于本地计算机上的管理员。 文本字符串可以是字符串格式的用户 SID,也可以是用户的 域\用户 登录名字符串。
[in] rgpszPaths
指针数组,每个指针指向要删除的文件或目录的完全限定 UNC 路径。
[in] cPaths
rgpszPaths 中的路径数。
[in] dwFlags
控制删除操作行为的标志。 此参数可使用以下一个或多个值。
OFFLINEFILES_DELETE_FLAG_NOAUTOCACHED (0x00000001)
请勿删除自动缓存的项。 默认行为是删除自动缓存的项。
OFFLINEFILES_DELETE_FLAG_NOPINNED (0x00000002)
请勿删除固定项。 默认行为是删除固定项。
OFFLINEFILES_DELETE_FLAG_DELMODIFIED (0x00000004)
即使在缓存中本地修改,也会删除 。 默认行为是不删除具有未同步本地更改的文件。
OFFLINEFILES_DELETE_FLAG_ADMIN (0x80000000)
允许管理员枚举和删除所有文件,而不考虑访问权限。 如果设置了此标志,并且调用方不是管理员,则函数将失败。
[in] bAsync
指示操作是否要异步执行。 如果此参数为 TRUE,则为异步操作计划操作,函数将立即返回。 如果此参数为 FALSE,则函数在操作完成时返回。
[in] pIProgress
与将在操作期间接收进度事件的事件接收器的接口。 如果不需要事件,此参数可以为 NULL。 强烈建议为异步操作提供事件接收器。 进度实现是在异步操作完成时收到通知的唯一方法。
返回值
如果成功,则返回 S_OK ,否则返回错误值。
HRESULT_FROM_WIN32(ERROR_CANCELLED)
如果取消操作,则返回 。
HRESULT_FROM_WIN32(ERROR_MORE_DATA)
如果操作期间发生错误,则返回 。 使用 IOfflineFilesSimpleProgress::ItemResult 回调方法在出错时检测错误。
备注
调用方必须对要删除的文件和目录具有足够的访问权限。
如果在删除操作正在进行时取消,则不会回滚对已处理到该点的文件的更改。
如果目录上的删除操作无法删除其包含的所有文件或目录 (例如,如果拒绝访问) ,则不会删除指定的目录条目。 截至该时间点删除的任何文件和目录仍会被删除。
仅从本地缓存中删除文件。 网络服务器上的关联文件不受影响。
删除的文件无法通过回收站进行恢复。 必须重新缓存已删除的文件才能脱机使用。
如果 rgpszPaths 参数中只提供了一个路径,并且该路径指向单个文件,则返回值指示该单个删除操作的结果。 否则,调用方必须实现以下列表中的进度回调方法并监视 IOfflineFilesSimpleProgress::ItemResult 方法以获取每个已处理文件和目录的结果。
进度事件接口 | 方法 | 说明 |
---|---|---|
IOfflineFilesProgress | 开始 | 在操作开始时调用。 |
IOfflineFilesSyncProgress | SyncItemBegin | 在开始处理每个文件时调用。 |
IOfflineFilesSyncProgress | SyncItemResult | 删除每个文件后调用。 |
IOfflineFilesProgress | QueryAbort | 在同步操作期间定期调用以检测取消请求。 |
IOfflineFilesProgress | End | 在操作结束时调用。 |
要求
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | cscobj.h |
DLL | CscSvc.dll;CscObj.dll |