BG_FILE_PROGRESS structure

The BG_FILE_PROGRESS structure provides file-related progress information, such as the number of bytes transferred.

Syntax

typedef struct _BG_FILE_PROGRESS {
  UINT64 BytesTotal;
  UINT64 BytesTransferred;
  BOOL   Completed;
} BG_FILE_PROGRESS;

Members

BytesTotal

Size of the file in bytes. If Delivery Optimization cannot determine the size of the file (for example, if the file or server does not exist), the value is DO_UNKNOWN_FILE_SIZE.

If you are downloading ranges from a file, BytesTotal reflects the total number of bytes you want to download from the file.

BytesTransferred

Number of bytes transferred.

Completed

For downloads, the value is TRUE if the file is available to the user; otherwise, the value is FALSE. Files are available to the user after calling the IBackgroundCopyJob::Complete method. If the Complete method generates a transient error, those files processed before the error occurred are available to the user; the others are not. Use the Completed member to determine if the file is available to the user when Complete fails.

Remarks

To determine if Delivery Optimization transferred the file, you can:

  • Compare BytesTransferred to BytesTotal.

Requirements

Requirement Value
Minimum supported client
Windows 10, version 1709 [desktop apps only]
Minimum supported server
Windows Server, version 1709 [desktop apps only]
Header
Deliveryoptimization.h

See also

BG_JOB_PROGRESS

IBackgroundCopyFile::GetProgress