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