Share via


Método IBackgroundCopyJob::GetError (bits.h)

Recupera la interfaz de error después de producirse un error.

BITS genera un objeto de error cuando el estado del trabajo es BG_JOB_STATE_ERROR o BG_JOB_STATE_TRANSIENT_ERROR. El servicio no crea un objeto de error cuando se produce un error en una llamada a un método de interfaz IBackgroundCopyXXXX . El objeto de error está disponible hasta que BITS comienza a transferir datos (el estado del trabajo cambia a BG_JOB_STATE_TRANSFERRING) para el trabajo o hasta que se cierra la aplicación.

Sintaxis

HRESULT GetError(
  [out] IBackgroundCopyError **ppError
);

Parámetros

[out] ppError

Interfaz de error que proporciona el código de error, una descripción del error y el contexto en el que se produjo el error. Este parámetro también identifica el archivo que se transfiere en el momento en que se produjo el error. Publique ppError cuando haya terminado.

Valor devuelto

Este método devuelve los siguientes valores HRESULT , así como otros.

Código devuelto Descripción
S_OK
Se generó correctamente el objeto de error.
BG_E_ERROR_INFORMATION_UNAVAILABLE
La interfaz de error solo está disponible después de producirse un error (BG_JOB_STATE_ERROR o BG_JOB_STATE_TRANSIENT_ERROR) y antes de que BITS comience a transferir datos (BG_JOB_STATE_TRANSFERRING).

Comentarios

El trabajo se coloca en un estado de error en errores irrecuperables o después de que expire el período de tiempo de espera sin progreso para errores transitorios (este período se recupera del método GetNoProgressTimeout ). Use una de las siguientes opciones para determinar si el trabajo está en error:

La interfaz IBackgroundCopyError contiene información que se usa para determinar la causa del error y si el proceso de transferencia puede continuar. Después de determinar la causa del error, realice una de las siguientes opciones: Si el trabajo permanece en un estado de error durante 90 días (jobInactivityTimeout predeterminado directiva de grupo), el servicio quita el trabajo de la cola y elimina los archivos temporales en el cliente; la eliminación del trabajo no afecta a los archivos que se han cargado correctamente.

Para determinar si se produjo un error en la parte de la aplicación de carga, respuesta o servidor de un trabajo de carga-respuesta, llame al método IBackgroundCopyError::GetError para recuperar el contexto en el que se produjo el error. Error en la aplicación de servidor si el contexto es BG_ERROR_CONTEXT_REMOTE_APPLICATION. Si el error es con la carga o respuesta, el contexto se BG_ERROR_CONTEXT_REMOTE_FILE. Error en la carga si el miembro BytesTotal de la estructura de BG_JOB_REPLY_PROGRESS está BG_SIZE_UNKNOWN. De lo contrario, se produjo un error en la respuesta.

Ejemplos

Consulte el código de ejemplo en el tema Control de errores .

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP
Servidor mínimo compatible Windows Server 2003
Plataforma de destino Windows
Encabezado bits.h
Library Bits.lib
Archivo DLL QmgrPrxy.dll

Consulte también

IBackgroundCopyCallback::JobError

IBackgroundCopyError

IBackgroundCopyJob::GetState