IBackgroundCopyJob::GetError (método)
Recupera la interfaz de error después de producirse un error.
Optimización de distribución genera un objeto de error cuando el estado del trabajo se 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 la optimización de distribución 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
-
ppError [out]
-
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 |
---|---|
|
Se generó correctamente el objeto de error. |
|
La interfaz de error solo está disponible después de que se produzca un error (BG_JOB_STATE_ERROR o BG_JOB_STATE_TRANSIENT_ERROR) y antes de que la Optimización de distribución comience a transferir datos (BG_JOB_STATE_TRANSFERRING). |
Comentarios
El trabajo se coloca en un estado de error en errores irrecuperables. Use una de las siguientes opciones para determinar si el trabajo está en error:
- Para sondear el estado del trabajo, llame al método IBackgroundCopyJob::GetState . El trabajo está en error si el estado es BG_JOB_STATE_ERROR.
- Para recibir una notificación cuando se produce un error, implemente la interfaz IBackgroundCopyCallback (en concreto, el método JobError ). A continuación, llame al método IBackgroundCopyJob::SetNotifyInterface para registrar la devolución de llamada y el método IBackgroundCopyJob::SetNotifyFlags para establecer la marca de BG_NOTIFY_JOB_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:
- Para cancelar el trabajo, llame al método IBackgroundCopyJob::Cancel .
- Para guardar los archivos que se transfirieron correctamente antes de que se produjera el error, llame al método IBackgroundCopyJob::Complete .
- Para finalizar el procesamiento del trabajo, corrija el problema y, a continuación, llame al método IBackgroundCopyJob::Resume .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows 10, versión 1709 [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server, versión 1709 [solo aplicaciones de escritorio] |
Encabezado |
|
IDL |
|
Biblioteca |
|
Archivo DLL |
|
IID |
IID_IBackgroundCopyJob se define como 37668D37-507E-4160-9316-26306D150B12 |