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 核心會產生錯誤檢查。