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
指向在 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET上下文 结构成员中指定的上下文区域的指针,当 PSHED 插件调用 PshedRegisterPlugin 函数以向 PSHED 注册自身时。
[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 管理应用程序可以通过通过 Parameter4的参数将特定于错误的附加数据传递给 PSHED 插件的 InjectError 回调函数 Parameter1。 例如,在基于 Itanium 的系统上,某些错误注入作需要随附的地址。 在这种情况下,WHEA 管理应用程序可以使用以下参数之一将地址传递给 PSHED 插件的 InjectError 回调函数。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows Server 2008、Windows Vista SP1 和更高版本的 Windows 中受支持。 |
目标平台 | 桌面 |
标头 | ntddk.h (包括 Ntddk.h) |
IRQL | IRQL = DISPATCH_LEVEL |