Método IBackgroundCopyCallback3::FileRangesTransferred (bits10_1.h)
BITS llama a la implementación del método FileRangesTransferred cuando se han descargado uno o varios intervalos de archivos. Los intervalos de archivos se agregan al trabajo mediante el método IBackgroundCopyFile6::RequestFileRanges .
Sintaxis
HRESULT FileRangesTransferred(
IBackgroundCopyJob *job,
IBackgroundCopyFile *file,
DWORD rangeCount,
const BG_FILE_RANGE [] ranges
);
Parámetros
job
Objeto IBackgroundCopyJob que contiene los métodos para acceder a la propiedad, el progreso y la información de estado del trabajo. No libere pJob; BITS libera la interfaz cuando el método devuelve.
file
Objeto IBackgroundCopyFile que contiene información sobre el archivo cuyos intervalos han cambiado. No libere pFile; BITS libera la interfaz cuando el método devuelve.
rangeCount
Recuento de entradas de la matriz de intervalos.
ranges
Matriz de los intervalos de archivos que se han transferido desde la última llamada a FileRangesTransferred o la última llamada al método IBackgroundCopyFile6::RequestFileRanges . No libere rangos; BITS libera la memoria de intervalos cuando el método FileRangesTransferred devuelve.
Valor devuelto
Este método devuelve S_OK si se ejecuta correctamente; de lo contrario, devuelve un código de error.
Comentarios
Es posible que los intervalos devueltos en este método no coincidan con los intervalos solicitados. Esto se debe a que BITS no descargará el mismo intervalo de bytes dos veces y porque BITS puede notificar cuándo se descarga parte de un intervalo.
Es posible que la implementación no reciba todos los eventos de modificación en condiciones máximas de carga de recursos.
BITS genera un gran volumen de eventos; considere la posibilidad de crear un temporizador y sondear la información de estado y progreso o limitar el uso de esta devolución de llamada. Si usa esta devolución de llamada, mantenga la implementación corta. Debe establecer la propiedad BITS_JOB_PROPERTY_MINIMUM_NOTIFICATION_INTERVAL en el valor más alto que sigue cumpliendo sus necesidades; esto reducirá el número de devoluciones de llamada innecesarias.
Ejemplos
Para obtener un ejemplo de cómo usar esta función, vea el código de ejemplo de la interfaz IBackgroundCopyCallback3 .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 10, versión 1703 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2016 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | bits10_1.h (incluir Bits.h) |
Library | Bits.lib |