Naughter Software Logo

BITSWrappers v1.08 A set of C++ classes to provide a complete encapsulation of the BITS (Background Intelligent Transfer Service) API for Windows

The classes provided are: BITS::CManager, BITS::CJob, BITS::CJob2, BITS::CJob3, BITS::CJob4, BITS::CJob5, BITS::CFile, BITS::CFile2, BITS::CFile3, BITS::CFile4, BITS::CFile5, BITS::CFile6, BITS::CJobOptions, BITS::CJobOptions2, BITS::CJobOptions3, BITS::CTokenOptions, BITS::CCallback, BITS::CCallback2, BITS::CCallback3, BITS::CServerCertificateValidationCallback, BITS::CError, BITS::String, BITS::FilesArray, BITS::JobsArray, BITS::FileRangeArray & BITS::ByteArray.

CManager is the class wrapper for IBackgroundCopyManager. This interface requires Windows XP / Server 2003 or higher.

CJob is the class wrapper for IBackgroundCopyJob. This interface requires Windows XP / Server 2003 or higher.

CJob2 is the class wrapper for IBackgroundCopyJob2. This interface requires Windows XP / Server 2003 or higher.

CJob3 is the class wrapper for IBackgroundCopyJob3. This interface requires Windows XP SP2 / Server 2003 SP1 or higher.

CJob4 is the class wrapper for IBackgroundCopyJob4. This interface requires Windows Vista / Server 2008 or higher.

CJob5 is the class wrapper for IBackgroundCopyJob5. This interface requires Windows 8 / Server 2008 or higher.

CFile is the class wrapper for IBackgroundCopyFile. This interface requires Windows XP / Server 2003 or higher.

CFile2 is the class wrapper for IBackgroundCopyFile2. This interface requires Windows XP SP2 / Server 2003 SP1 or higher.

CFile3 is the class wrapper for IBackgroundCopyFile3. This interface requires Windows Vista / Server 2008 or higher.

CFile4 is the class wrapper for IBackgroundCopyFile4. This interface requires Windows 7 / Server 2008 R2 or higher.

CFile5 is the class wrapper for IBackgroundCopyFile5. This interface requires Windows 8 / Server 2012 or higher.

CFile6 is the class wrapper for IBackgroundCopyFile6. This interface requires Windows 10 version 1703 / Server 2016 or higher.

CJobOptions is the class wrapper for IBackgroundCopyJobHttpOptions. This interface requires Windows Vista / Server 2008 or higher.

CJobOptions2 is the class wrapper for using IBackgroundCopyJobHttpOption2. This interface requires Windows 10 version 1809 / Server 2019 or higher.

CJobOptions3 is the class wrapper for using IBackgroundCopyJobHttpOption3. This interface requires Windows 10 codename "19H1" or higher.

CTokenOptions is the class wrapper for IBitsTokenOptions. This interface requires Windows 7 / Server 2008 R2 or higher.

CCallback is the class wrapper for using IBackgroundCopyCallback. To use this class just call CJob::SetNotifyInterface. For an example see the code in test.cpp. This interface requires Windows XP / Server 2003 or higher.

CCallback2 is the class wrapper for using IBackgroundCopyCallback2. To use this class just call CJob::SetNotifyInterface. For an example see the code in test.cpp. This interface requires Windows Vista / Server 2008 or higher.

CCallback3 is the class wrapper for using IBackgroundCopyCallback3. To use this class just call CJob::SetNotifyInterface. For an example see the code in test.cpp. This interface requires Windows 10 version 1703 / Server 2016 or higher.

CServerCertificateValidationCallback is the class wrapper for using IBackgroundCopyServerCertificateValidationCallback. This interface requires Windows 10 codename "19H1" or higher.

CError is the class wrapper for IBackgroundCopyError. This interface requires Windows XP / Server 2003 or higher.

String is a typedef for std::wstring

FilesArray is a typedef for std::vector<CFile>. This collection class is used in the CJob::EnumFiles method.

JobsArray is a typedef for std::vector<CJob>. This collection class is used in the CManager::EnumJobs method.

FileRangeArray is a typedef for std::vector<BG_FILE_RANGE>. This collection class is used in the CFile2::GetFileRanges and CFile6::GetFilledFileRanges methods.

ByteArray is a typedef for std::vector<BYTE>. This collection class is used in the CJob2::GetReplyData and CJobHttpOptions::GetClientCertificate methods.

 

Features

 

The enclosed zip file contains the BITSWrappers source code and a VC 2017 console based application which demonstrates most of the classes functionality.

 

Copyright

 

Updates

V1.08 (18 November 2018)

V1.07 (7 September 2018)

V1.06 (7 July 2018)

V1.05 (29 October 2017)

V1.04 (29 April 2017)

V1.03 (15 January 2016)

V1.02 (10 August 2013)

V1.0 (6 August 2013)

V1.01 (6 August 2013)