Compartir a través de


Método IBackgroundCopyCallback::JobTransferred (bits.h)

BITS llama a la implementación del método JobTransferred cuando todos los archivos del trabajo se han transferido correctamente. Para BG_JOB_TYPE_UPLOAD_REPLY trabajos, BITS llama al método JobTransferred después de transferir el archivo de carga al servidor y la respuesta se ha transferido al cliente.

Sintaxis

HRESULT JobTransferred(
  [in] IBackgroundCopyJob *pJob
);

Parámetros

[in] pJob

Contiene información relacionada con el trabajo, como la hora en que se completó el trabajo, el número de bytes transferidos y el número de archivos transferidos. No liberar pJob; BITS libera la interfaz cuando el método devuelve.

Valor devuelto

Este método debe devolver S_OK; de lo contrario, BITS continúa llamando a este método hasta que se devuelve S_OK. Por motivos de rendimiento, debe limitar el número de veces que se devuelve un valor distinto de S_OK a varias veces. Como alternativa a devolver un código de error, considere la posibilidad de devolver siempre S_OK y controlar el error internamente. El intervalo en el que se llama a este método es arbitrario.

Tenga en cuenta que si se produce un error en este método y llamó al método IBackgroundCopyJob2::SetNotifyCmdLine , se ejecuta la línea de comandos y este método no se llama de nuevo.

Comentarios

Normalmente, la implementación debe llamar al método IBackgroundCopyJob::Complete para confirmar que BITS transfirió correctamente los archivos. Los archivos de descarga y el archivo de respuesta no están disponibles en el cliente hasta que llame al método Complete .

Si no llama al método Complete o al método IBackgroundCopyJob::Cancel en un plazo de 90 días (jobInactivityTimeout predeterminado directiva de grupo), BITS cancela el trabajo y elimina los archivos descargados y el archivo de respuesta; la cancelación del trabajo no afecta a los archivos que se han cargado correctamente.

Si desea recuperar los datos de respuesta en la devolución de llamada, consulte pJob para la interfaz IBackgroundCopyJob2 y llame a su método GetReplyData . Para recuperar el nombre del archivo que contiene los datos de respuesta, llame al método GetReplyFileName .

BITS no garantiza la integridad de los archivos transferidos contra intrusiones de terceros. Los clientes pueden implementar comprobaciones de integridad para validar los archivos transferidos antes de llamar al método Complete . Para recibir una notificación cuando se transfiere un archivo, implemente el método IBackgroundCopyCallback2::FileTransferred . Dentro de la devolución de llamada, llame al método IBackgroundCopyFile3::GetTemporaryName para obtener el nombre del archivo temporal que contiene el contenido descargado. Valide el contenido y, a continuación, llame al método IBackgroundCopyFile3::SetValidationState para indicar si el contenido es válido. Si el contenido no es válido y BITS descargó el archivo desde el servidor de origen, el trabajo entra en el estado de error. Si el trabajo se descargó de un mismo nivel, BITS descarga el archivo desde el servidor de origen.

Nota BITS admite hasta cuatro notificaciones simultáneas por usuario. Si una o varias aplicaciones bloquean la devolución de las cuatro notificaciones de un usuario, una aplicación que se ejecuta como el mismo usuario no recibirá notificaciones hasta que se devuelvan una o varias de las notificaciones de bloqueo. Para reducir la posibilidad de que la devolución de llamada bloquee otras notificaciones, mantenga la implementación corta.
 

Ejemplos

Consulte el código de ejemplo de la interfaz IBackgroundCopyCallback .

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP
Servidor mínimo compatible Windows Server 2003
Plataforma de destino Windows
Encabezado bits.h

Consulte también

IBackgroundCopyCallback

IBackgroundCopyJob

IBackgroundCopyJob::Cancel

IBackgroundCopyJob::Complete