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