IBackgroundCopyFile3::SetValidationState 方法 (bits3_0.h)

设置此文件的验证状态。

语法

HRESULT SetValidationState(
  [in] BOOL state
);

参数

[in] state

如果文件内容有效,则设置为 TRUE ,否则为 FALSE

返回值

方法返回以下返回值。

返回代码 说明
S_OK
成功
E_PENDING
在下载完成之前,无法验证文件。
BG_E_RECORD_DELETED
已删除与此文件关联的缓存记录。

注解

如果将验证状态设置为 FALSE ,并且文件已从源服务器下载,则作业将移动到错误代码为 BG_E_VALIDATION_FAILED 的错误状态,并将文件进度设置为零。 然后,可以调用 IBackgroundCopyJob::Resume 方法再次下载文件。

BITS 3.0: 不要再次调用 IBackgroundCopyJob::Resume 方法下载文件。 请改为调用 IBackgroundCopyJob::CompleteIBackgroundCopyJob::Cancel 方法来清理当前作业,然后创建新作业以下载文件。

如果将验证状态设置为 FALSE ,并且文件是从对等方下载的,则 BITS 会从缓存中删除该文件,将文件进度重置为零,然后再次从源服务器下载该文件。

只能在 BITS 完成文件传输后调用此方法。 若要在传输完成后接收通知,请实现 IBackgroundCopyCallback2::FileTransferred 方法。

调用 IBackgroundCopyJob::Complete 方法会隐式验证文件。

如果验证缓存中的文件,然后调用 IBackgroundCopyJob4::SetPeerCachingFlags 来禁用缓存 (或者通过组策略) 禁用对等缓存,则该文件仍保留在缓存中。 如果在验证文件之前禁用缓存,BITS 将从缓存中删除该文件。

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 bits3_0.h (包括 Bits.h)
Library Bits.lib

另请参阅

IBackgroundCopyFile3

IBackgroundCopyFile3::GetValidationState

IBitsPeerCacheRecord::IsFileValidated