在 BITS (Background Intelligent Transfer Service) 的 Win32 API 中,确实有 IBackgroundCopyJob2 接口,它是 IBackgroundCopyJob 接口的扩展版本,提供了额外的功能。以下是关于 IBackgroundCopyJob2 接口的一些基本信息:
interface IBackgroundCopyJob2 : public IBackgroundCopyJob
{
public:
    virtual HRESULT STDMETHODCALLTYPE GetNotifyCmdLine(
        /* [out] */ LPWSTR* pProgID) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetReplyFileName(
        /* [out] */ LPWSTR* pReplyFileName) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetReplyFileName(
        /* [in] */ LPCWSTR ReplyFileName) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetReplyProgress(
        /* [out] */ BG_JOB_REPLY_PROGRESS* pProgress) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetReplyProgress(
        /* [in] */ const BG_JOB_REPLY_PROGRESS* pProgress) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetReplyData(
        /* [size_is][size_is][out] */ byte** ppBuffer,
        /* [out] */ UINT64* pLength) = 0;

    virtual HRESULT STDMETHODCALLTYPE SetReplyData(
        /* [size_is][in] */ byte* pBuffer,
        /* [in] */ UINT64 Length) = 0;

    virtual HRESULT STDMETHODCALLTYPE GetFiles(
        /* [out] */ IEnumBackgroundCopyFiles** ppEnum) = 0;
};

这个接口继承自 IBackgroundCopyJob 接口,它引入了一些新的方法,包括:

1. GetNotifyCmdLine: 获取用于回复通知的命令行。

2. GetReplyFileName 和 SetReplyFileName: 获取和设置用于回复通知的文件名。

3. GetReplyProgress 和 SetReplyProgress: 获取和设置回复通知的进度信息。

4. GetReplyData 和 SetReplyData: 获取和设置回复通知的数据。

5. GetFiles: 获取与 BITS 作业关联的文件的枚举。

这些新增的方法允许更丰富的 BITS 作业管理和控制,特别是在处理回复通知和文件时。如果你需要使用这些额外的功能,可以使用 IBackgroundCopyJob2 接口。


转载请注明出处:http://www.zyzy.cn/article/detail/24050/Win32 API/Bits1_5.h/IBackgroundCopyJob2