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

另请参阅

IOfflineFilesCache