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.GetInjectionCapabilities 和 Callbacks.InjectErrorWHEA_PSHED_PLUGIN_REGISTRATION_PACKET 結構的成員指向其 當外掛程式呼叫 PshedRegisterPlugin 函式,以向 PSHED 註冊本身時,GetInjectionCapabilities 和 InjectError 回呼函式。 PSHED 外掛程式也必須在 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 結構的 FunctionalAreaMask 成員中設定 PshedFAErrorInjection 旗標。
當 WHEA 管理應用程式提出插入硬體錯誤的要求時,Windows 核心會呼叫 PSHED,以將錯誤插入硬體平臺。 如果 PSHED 外掛程式已註冊以參與錯誤插入,PSHED 會呼叫 PSHED 外掛程式的 InjectError 回呼函式來執行錯誤插入作業。
插入錯誤的 WHEA 管理應用程式可以將額外的錯誤特定數據傳遞至 PSHED 外掛程式的 InjectError 回呼函式,方法是使用 parameters Parameter1 至 Parameter4。 例如,在 Itanium 型系統上,某些錯誤插入作業需要隨附的位址。 在此情況下,WHEA 管理應用程式可以使用下列其中一個參數,將位址傳遞至 PSHED 外掛程式的 InjectError 回呼函式。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Server 2008、Windows Vista SP1 和更新版本的 Windows 支援。 |
目標平臺 | 桌面 |
標頭 | ntddk.h (包括 Ntddk.h) |
IRQL | IRQL = DISPATCH_LEVEL |