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 註冊本身時,在WHEA_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 代碼:

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

備註

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

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

插入錯誤的 WHEA 管理應用程式可以使用 parameter1Parameter4 參數,將額外的錯誤特定數據傳遞至 PSHED 外掛程式的 InjectError 回呼函式。 例如,在 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