Обработка ошибок
Архитектура ошибок оборудования Windows (WHEA) обрабатывает ошибки оборудования различными способами в зависимости от классификации условия ошибки. Дополнительные сведения о различных классификациях ошибок оборудования см. в разделе Ошибки оборудования и источники ошибок.
Ниже описывается последовательность действий, выполняемых WHEA в ответ на каждый тип состояния ошибки оборудования. Дополнительные сведения о компонентах WHEA, которые упоминаются в этих действиях, см. в разделе Компоненты архитектуры аппаратных ошибок Windows.
Исправлена ошибка оборудования
Низкоуровневый обработчик ошибок оборудования (LLHEH) получает уведомление о наличии состояния ошибки оборудования.
LLHEH проверяет наличие ошибки оборудования.
LLHEH извлекает сведения об ошибке оборудования из источника ошибок и использует их для заполнения пакета ошибок оборудования. Этот пакет имеет формат структуры WHEA_ERROR_PACKET .
LLHEH вызывает драйвер ошибок оборудования для конкретной платформы (PSHED) для получения сведений об ошибках оборудования для конкретной платформы. Если подключаемый модуль PSHED установлен и зарегистрирован для участия в получении сведений об ошибках, PSHED, в свою очередь, вызовет подключаемый модуль PSHED, чтобы он мог дополнительно расширить сведения об ошибке, возвращаемые в LLHEH.
LLHEH вызывает ядро операционной системы Windows, передавая ему пакет ошибок.
Ядро Windows создает запись ошибки и заполняет ее сведениями из пакета ошибок, полученного от LLHEH, а также другими сведениями об ошибке, такими как источник ошибки, серьезность ошибки и сколько раз произошла ошибка.
Ядро Windows вызывает PSHED, чтобы разрешить PSHED добавлять разделы в запись об ошибке. Если подключаемый модуль PSHED установлен и зарегистрирован для участия в извлечении сведений об ошибках, PSHED, в свою очередь, вызовет подключаемый модуль PSHED, чтобы он мог дополнительно дополнить сведения в записи об ошибке.
Ядро Windows вызывает PSHED для очистки регистров состояния источника ошибок. Если подключаемый модуль PSHED установлен и зарегистрирован для участия в получении сведений об ошибках, PSHED, в свою очередь, вызовет подключаемый модуль PSHED, чтобы очистить регистры состояния источника ошибок.
Если состояние ошибки оборудования превышает пороговое значение источника ошибки, ядро Windows создает событие ETW и записывает сведения об ошибке в журнал системных событий.
Некритичная ошибка неисправленного оборудования
LLHEH получает уведомление о наличии состояния ошибки оборудования.
LLHEH проверяет наличие ошибки оборудования.
LLHEH извлекает сведения об ошибке оборудования из источника ошибок и использует их для заполнения пакета ошибок оборудования.
LLHEH вызывает PSHED для получения сведений об ошибках оборудования для конкретной платформы. Если подключаемый модуль PSHED установлен и зарегистрирован для участия в получении сведений об ошибках, PSHED, в свою очередь, вызовет подключаемый модуль PSHED, чтобы он мог дополнительно расширить сведения об ошибке, возвращаемые в LLHEH.
LLHEH вызывает ядро операционной системы Windows, передавая ему пакет ошибок.
Ядро Windows создает запись ошибки и заполняет ее сведениями из пакета ошибок, полученного от LLHEH, а также другими сведениями об ошибке, такими как источник ошибки, серьезность ошибки и сколько раз произошла ошибка.
Ядро Windows вызывает PSHED, чтобы разрешить PSHED добавлять разделы в запись об ошибке. Если подключаемый модуль PSHED установлен и зарегистрирован для участия в извлечении сведений об ошибках, PSHED, в свою очередь, вызовет подключаемый модуль PSHED, чтобы он мог дополнительно дополнить сведения в записи об ошибке.
Ядро Windows пытается восстановиться после ошибки, пытаясь исправить состояние ошибки оборудования. Затем ядро Windows вызывает PSHED, чтобы предоставить ему возможность выполнять все необходимые операции восстановления. Если подключаемый модуль PSHED установлен и зарегистрирован для участия в восстановлении ошибок, PSHED, в свою очередь, вызовет подключаемый модуль PSHED, чтобы попытаться исправить ошибку и (или) выполнить дополнительные операции, необходимые для полного восстановления после состояния ошибки.
Если ошибка оборудования была успешно исправлена, ядро Windows создает событие ETW и записывает сведения об ошибке в журнал системных событий. Если ошибка оборудования не была исправлена, ядро Windows вызывает PSHED для сохранения записи об ошибке. Если подключаемый модуль PSHED установлен и зарегистрирован для участия в сохраняемости записей ошибок, PSHED, в свою очередь, вызовет подключаемый модуль PSHED, чтобы сохранить запись об ошибке. После сохранения записи об ошибке ядро Windows создает ошибку проверка.
Неустранимая ошибка оборудования
LLHEH получает уведомление о наличии состояния ошибки оборудования.
LLHEH проверяет наличие ошибки оборудования.
LLHEH извлекает сведения об ошибке оборудования из источника ошибок и использует их для заполнения пакета ошибок оборудования.
LLHEH вызывает PSHED для получения сведений об ошибках оборудования для конкретной платформы. Если подключаемый модуль PSHED установлен и зарегистрирован для участия в получении сведений об ошибках, PSHED, в свою очередь, вызовет подключаемый модуль PSHED, чтобы он мог дополнительно расширить сведения об ошибке, возвращаемые в LLHEH.
LLHEH вызывает ядро операционной системы Windows, передавая ему пакет ошибок.
Ядро Windows создает запись ошибки и заполняет ее сведениями из пакета ошибок, полученного от LLHEH, а также другими сведениями об ошибке, такими как источник ошибки, серьезность ошибки и сколько раз произошла ошибка.
Ядро Windows вызывает PSHED для сохранения записи об ошибке. Если подключаемый модуль PSHED установлен и зарегистрирован для участия в сохраняемости записей ошибок, PSHED, в свою очередь, вызовет подключаемый модуль PSHED, чтобы сохранить запись об ошибке.
Ядро Windows создает ошибку проверка.