Метод IBackgroundCopyJob::GetError
Извлекает интерфейс ошибки после возникновения ошибки.
Оптимизация доставки создает объект ошибки, если задание находится в состоянии BG_JOB_STATE_ERROR или BG_JOB_STATE_TRANSIENT_ERROR. Служба не создает объект ошибки при сбое вызова метода интерфейса IBackgroundCopyXXXX . Объект ошибки доступен до тех пор, пока оптимизация доставки не начнет передачу данных (состояние задания изменится на BG_JOB_STATE_TRANSFERRING) для задания или пока приложение не завершит работу.
Синтаксис
HRESULT GetError(
[out] IBackgroundCopyError **ppError
);
Параметры
-
ppError [out]
-
Интерфейс ошибки, предоставляющий код ошибки, описание ошибки и контекст, в котором произошла ошибка. Этот параметр также определяет файл, передаваемый во время возникновения ошибки. По завершении отпустите ppError .
Возвращаемое значение
Этот метод возвращает следующие значения HRESULT , а также другие.
Код возврата | Описание |
---|---|
|
Объект ошибки успешно создан. |
|
Интерфейс ошибки доступен только после возникновения ошибки (BG_JOB_STATE_ERROR или BG_JOB_STATE_TRANSIENT_ERROR) и до начала передачи данных оптимизации доставки (BG_JOB_STATE_TRANSFERRING). |
Комментарии
Задание помещается в состояние ошибки при неустранимых ошибках. Используйте один из следующих параметров, чтобы определить, есть ли ошибка в задании:
- Чтобы опросить состояние задания, вызовите метод IBackgroundCopyJob::GetState . Если состояние BG_JOB_STATE_ERROR, задание завершается ошибкой.
- Чтобы получать уведомления при возникновении ошибки, реализуйте интерфейс IBackgroundCopyCallback (в частности, метод JobError ). Затем вызовите метод IBackgroundCopyJob::SetNotifyInterface , чтобы зарегистрировать обратный вызов, и метод IBackgroundCopyJob::SetNotifyFlags , чтобы задать флаг BG_NOTIFY_JOB_ERROR.
Интерфейс IBackgroundCopyError содержит сведения, которые используются для определения причины ошибки и возможности продолжения процесса передачи. Определив причину ошибки, выполните один из следующих действий.
- Чтобы отменить задание, вызовите метод IBackgroundCopyJob::Cancel .
- Чтобы сохранить файлы, которые были успешно переданы до возникновения ошибки, вызовите метод IBackgroundCopyJob::Complete .
- Чтобы завершить обработку задания, устраните проблему, а затем вызовите метод IBackgroundCopyJob::Resume .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 10, версия 1709 [только классические приложения] |
Минимальная версия сервера |
Windows Server версии 1709 [только классические приложения] |
Заголовок |
|
IDL |
|
Библиотека |
|
DLL |
|
IID |
IID_IBackgroundCopyJob определяется как 37668D37-507E-4160-9316-26306D150B12 |