共用方式為


PSHED_PI_INJECT_ERROR回呼函式 (ntddk.h)

PSHED 外掛程式的 InjectError 回呼函式會將錯誤插入硬體平臺。

語法

PSHED_PI_INJECT_ERROR PshedPiInjectError;

NTSTATUS PshedPiInjectError(
  [in, out, optional] PVOID PluginContext,
  [in]                ULONGLONG ErrorType,
  [in]                ULONGLONG Parameter1,
  [in]                ULONGLONG Parameter2,
  [in]                ULONGLONG Parameter3,
  [in]                ULONGLONG Parameter4
)
{...}

參數

[in, out, optional] PluginContext

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

[in] ErrorType

要插入硬體平台的錯誤類型。 可能的值為:

INJECT_ERRTYPE_PROCESSOR_CORRECTABLE

可更正的處理器錯誤。

INJECT_ERRTYPE_PROCESSOR_UNCORRECTABLENONFATAL

無法更正的非嚴重處理器錯誤。

INJECT_ERRTYPE_PROCESSOR_UNCORRECTABLEFATAL

無法更正的嚴重處理器錯誤。

INJECT_ERRTYPE_MEMORY_CORRECTABLE

可更正的記憶體錯誤。

INJECT_ERRTYPE_MEMORY_UNCORRECTABLENONFATAL

無法更正的非嚴重記憶體錯誤。

INJECT_ERRTYPE_MEMORY_UNCORRECTABLEFATAL

無法更正的嚴重記憶體錯誤。

INJECT_ERRTYPE_PCIEXPRESS_CORRECTABLE

可更正的PCI Express錯誤。

INJECT_ERRTYPE_PCIEXPRESS_UNCORRECTABLENONFATAL

無法更正的非嚴重PCI Express錯誤。

INJECT_ERRTYPE_PCIEXPRESS_UNCORRECTABLEFATAL

無法更正的嚴重PCI Express錯誤。

INJECT_ERRTYPE_PLATFORM_CORRECTABLE

可更正的平台錯誤。

INJECT_ERRTYPE_PLATFORM_UNCORRECTABLENONFATAL

無法更正的非嚴重平台錯誤。

INJECT_ERRTYPE_PLATFORM_UNCORRECTABLEFATAL

無法更正的嚴重平台錯誤。

[in] Parameter1

泛型參數,其中包含插入錯誤的 WHEA 管理應用程式所傳遞的其他數據。

[in] Parameter2

泛型參數,其中包含插入錯誤的 WHEA 管理應用程式所傳遞的其他數據。

[in] Parameter3

泛型參數,其中包含插入錯誤的 WHEA 管理應用程式所傳遞的其他數據。

[in] Parameter4

泛型參數,其中包含插入錯誤的 WHEA 管理應用程式所傳遞的其他數據。

傳回值

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

傳回碼 描述
STATUS_SUCCESS 錯誤已成功插入硬體平臺。
STATUS_UNSUCCESSFUL 發生錯誤。 對於嚴重或無法復原的插入錯誤,在作系統產生錯誤檢查以回應錯誤狀況之前,可能無法傳回此回呼函式。

言論

參與錯誤插入的 PSHED 外掛程式會設定 Callbacks.GetInjectionCapabilitiesCallbacks.InjectErrorWHEA_PSHED_PLUGIN_REGISTRATION_PACKET 結構的成員指向其 當外掛程式呼叫 PshedRegisterPlugin 函式,以向 PSHED 註冊本身時,GetInjectionCapabilitiesInjectError 回呼函式。 PSHED 外掛程式也必須在 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 結構的 FunctionalAreaMask 成員中設定 PshedFAErrorInjection 旗標。

當 WHEA 管理應用程式提出插入硬體錯誤的要求時,Windows 核心會呼叫 PSHED,以將錯誤插入硬體平臺。 如果 PSHED 外掛程式已註冊以參與錯誤插入,PSHED 會呼叫 PSHED 外掛程式的 InjectError 回呼函式來執行錯誤插入作業。

插入錯誤的 WHEA 管理應用程式可以將額外的錯誤特定數據傳遞至 PSHED 外掛程式的 InjectError 回呼函式,方法是使用 parameters Parameter1Parameter4。 例如,在 Itanium 型系統上,某些錯誤插入作業需要隨附的位址。 在此情況下,WHEA 管理應用程式可以使用下列其中一個參數,將位址傳遞至 PSHED 外掛程式的 InjectError 回呼函式。

要求

要求 價值
最低支援的用戶端 Windows Server 2008、Windows Vista SP1 和更新版本的 Windows 支援。
目標平臺 桌面
標頭 ntddk.h (包括 Ntddk.h)
IRQL IRQL = DISPATCH_LEVEL

另請參閱

GetInjectionCapabilities

PshedRegisterPlugin

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET