PSHED_PI_CLEAR_ERROR_STATUS回呼函式 (ntddk.h)

PSHED 外掛程式的 ClearErrorStatus 回呼函式會清除任何平臺特定的錯誤狀態緩存器,以取得已更正的硬體錯誤狀況。

語法

PSHED_PI_CLEAR_ERROR_STATUS PshedPiClearErrorStatus;

NTSTATUS PshedPiClearErrorStatus(
  [in, out, optional] PVOID PluginContext,
  [in]                PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource,
  [in]                ULONG BufferLength,
  [in]                PWHEA_ERROR_RECORD ErrorRecord
)
{...}

參數

[in, out, optional] PluginContext

當 PSHED 外掛程式呼叫 PshedRegisterPlugin 函式以向 PSHED 註冊本身時,在WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 結構的內容成員中指定的內容區域指標。

[in] ErrorSource

描述回報硬體錯誤之錯誤來源 之WHEA_ERROR_SOURCE_DESCRIPTOR 結構的指標。

[in] BufferLength

ErrorRecord 參數所指向之緩衝區的大小,以位元組為單位。

[in] ErrorRecord

描述錯誤記錄 之WHEA_ERROR_RECORD 結構的指標。 錯誤記錄描述清除平臺特定錯誤狀態緩存器所更正的硬體錯誤狀況。

傳回值

PSHED 外掛程式的 ClearErrorStatus 回呼函式會傳回下列其中一個 NTSTATUS 程式代碼:

傳回碼 Description
STATUS_SUCCESS 平臺特定的錯誤狀態會登錄已更正的硬體錯誤狀況已成功清除。
STATUS_NOT_SUPPORTED PSHED 外掛程式不支援指定的錯誤來源。
STATUS_UNSUCCESSFUL 發生錯誤。

備註

參與錯誤資訊擷取的 PSHED 外掛程式會設定 Callbacks.RetrieveErrorInfoCallbacks.FinalizeErrorRecord,以及 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 結構的 Callbacks.ClearErrorStatus 成員,以指向其 RetrieveErrorInfoFinalizeErrorRecordClearErrorStatus 回呼函式,當外掛程式呼叫 PshedRegisterPlugin 函式以向 PSHED 註冊本身。 PSHED 外掛程式也必須在 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 結構的 FunctionalAreaMask 成員中設定 PshedFAErrorInfoRetrieval 旗標。

針對修正的硬體錯誤狀況,Windows 核心會呼叫 PSHED,以清除錯誤來源的錯誤狀態註冊為處理錯誤的最後一個步驟。 如果 PSHED 外掛程式已註冊參與錯誤資訊擷取,PSHED 會呼叫 PSHED 外掛程式的 ClearErrorStatus 回呼函式,讓 PSHED 外掛程式可以清除任何其他平臺特定的錯誤狀態緩存器。

規格需求

需求
目標平台 桌面
標頭 ntddk.h (包含 Ntddk.h)
IRQL IRQL = DISPATCH_LEVEL

另請參閱

FinalizeErrorRecord

PshedRegisterPlugin

RetrieveErrorInfo

WHEA_ERROR_RECORD

WHEA_ERROR_SOURCE_DESCRIPTOR

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET