IBackgroundCopyManager 接口是与 Windows Background Intelligent Transfer Service (BITS) 相关的 Win32 API 接口之一,用于创建和管理 BITS 作业。以下是关于 IBackgroundCopyManager 接口的一些基本信息:
interface IBackgroundCopyManager : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE CreateJob(
        /* [in] */ LPCWSTR DisplayName,
        /* [in] */ BG_JOB_TYPE Type,
        /* [out] */ GUID* pJobId,
        /* [out] */ IBackgroundCopyJob** ppJob) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetJob(
        /* [in] */ REFGUID jobID,
        /* [out] */ IBackgroundCopyJob** ppJob) = 0;

    virtual HRESULT STDMETHODCALLTYPE EnumJobs(
        /* [in] */ DWORD dwFlags,
        /* [out] */ IEnumBackgroundCopyJobs** ppEnum) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetErrorDescription(
        /* [in] */ HRESULT hResult,
        /* [in] */ DWORD LanguageId,
        /* [out] */ LPWSTR* pErrorDescription) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetCredentials(
        /* [in] */ BG_AUTH_CREDENTIALS* credentials) = 0;

    virtual HRESULT STDMETHODCALLTYPE RemoveCredentials(
        /* [in] */ BG_AUTH_TARGET Target,
        /* [in] */ BG_AUTH_SCHEME Scheme) = 0;

    virtual HRESULT STDMETHODCALLTYPE ReplaceRemotePrefix(
        /* [in] */ LPCWSTR OldPrefix,
        /* [in] */ LPCWSTR NewPrefix) = 0;

    virtual HRESULT STDMETHODCALLTYPE AddFileWithRanges(
        /* [in] */ LPCWSTR RemoteUrl,
        /* [in] */ LPCWSTR LocalName,
        /* [in] */ DWORD RangeCount,
        /* [size_is][in] */ BG_FILE_RANGE Ranges[]) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetNotifyFlags(
        /* [in] */ ULONG NotifyFlags) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetNotifyFlags(
        /* [out] */ ULONG* pNotifyFlags) = 0;
};

这个接口继承自 IUnknown 接口,它定义了一系列纯虚函数,用于操作 BITS 作业管理器。以下是其中一些主要方法:

1. CreateJob: 创建一个新的 BITS 作业。

2. GetJob: 获取现有 BITS 作业的接口。

3. EnumJobs: 枚举 BITS 作业。

4. GetErrorDescription: 获取指定 HRESULT 的错误描述。

5. SetCredentials: 设置用于 BITS 作业的身份验证凭据。

6. RemoveCredentials: 移除 BITS 作业的身份验证凭据。

7. ReplaceRemotePrefix: 替换 BITS 作业中远程文件的前缀。

8. AddFileWithRanges: 添加支持断点续传的文件,并指定传输的文件范围。

9. SetNotifyFlags: 设置 BITS 作业管理器的通知标志。

10. GetNotifyFlags: 获取 BITS 作业管理器的通知标志。

通过调用这些方法,你可以创建 BITS 作业、获取现有作业、管理身份验证凭据、处理通知标志等。 BITS 作业管理器是 BITS 服务的主要接口,用于与 BITS 作业进行交互。


转载请注明出处:http://www.zyzy.cn/article/detail/24043/Win32 API/Bits.h/IBackgroundCopyManager