Что означает код HRESULT 0x800F0226 (SPAPI_E_DI_POSTPROCESSING_REQUIRED)?

 
Предыдущий Следующий
SPAPI_E_NO_SUCH_DEVICE_INTERFACE SPAPI_E_INVALID_COINSTALLER

SPAPI_E_DI_POSTPROCESSING_REQUIRED

Совместный установщик зарегистрировал этап постобработки

SPAPI_E_DI_POSTPROCESSING_REQUIRED является намеренным результатом обратного вызова предварительной обработки совместного установщика. SetupAPI фиксирует запрос, продолжает обработку установщиком класса и стандартными средствами, затем снова вызывает этот совместный установщик с установленным флагом постобработки и результатом установки в структуре контекста.

Рассмотрение первого возврата как критической ошибки предотвращает второй этап и может оставить установку незавершённой. И наоборот, возврат статуса во время вызова постобработки недопустим, поскольку третьего прохода нет.

Сохраняйте состояние между двумя обратными вызовами

  • Храните только контекст конкретной операции, необходимый последующему обратному вызову.
  • Во время постобработки проверьте результат основного пути установки до фиксации зависимых действий.
  • Освобождайте данные контекста на каждом пути выхода, включая ошибки до второго вызова.
  • Не используйте постобработку совместного установщика как замену неподдерживаемой длительной фоновой работе.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.