PSHED_PI_CLEAR_ERROR_STATUS回调函数 (ntddk.h)
PSHED 插件的 ClearErrorStatus 回调函数清除任何特定于平台的错误状态寄存器,以用于更正的硬件错误条件。
语法
PSHED_PI_CLEAR_ERROR_STATUS PshedPiClearErrorStatus;
NTSTATUS PshedPiClearErrorStatus(
[in, out, optional] PVOID PluginContext,
[in] PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource,
[in] ULONG BufferLength,
[in] PWHEA_ERROR_RECORD ErrorRecord
)
{...}
参数
[in, out, optional] PluginContext
指向在 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET上下文 结构成员中指定的上下文区域的指针,当 PSHED 插件调用 PshedRegisterPlugin 函数以向 PSHED 注册自身时。
[in] ErrorSource
指向描述报告硬件错误的错误源的 WHEA_ERROR_SOURCE_DESCRIPTOR 结构的指针。
[in] BufferLength
ErrorRecord 参数指向的缓冲区的大小(以字节为单位)。
[in] ErrorRecord
指向描述错误记录的 WHEA_ERROR_RECORD 结构的指针。 错误记录描述了清除特定于平台的错误状态寄存器的已更正硬件错误条件。
返回值
PSHED 插件的 ClearErrorStatus 回调函数返回以下 NTSTATUS 代码之一:
返回代码 | 描述 |
---|---|
STATUS_SUCCESS | 已成功清除更正的硬件错误条件的特定于平台的错误状态寄存器。 |
STATUS_NOT_SUPPORTED | PSHED 插件不支持指定的错误源。 |
STATUS_UNSUCCESSFUL | 发生错误。 |
言论
参与错误信息检索的 PSHED 插件将 Callbacks.RetrieveErrorInfo、Callbacks.FinalizeErrorRecord以及 Callbacks.ClearErrorStatus 指向 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 结构的成员 其 RetrieveErrorInfo、FinalizeErrorRecord,并在插件调用 PshedRegisterPlugin 函数时,ClearErrorStatus 回调函数来向 PSHED 注册自身。 PSHED 插件还必须在 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 结构的 FunctionalAreaMask 成员中设置 PshedFAErrorInfoRetrieval 标志。
对于更正的硬件错误条件,Windows 内核调用 PSHED 以清除错误源的错误状态注册为处理错误的最后一步。 如果注册 PSHED 插件以参与错误信息检索,PSHED 将调用 PSHED 插件的 ClearErrorStatus 回调函数,以便 PSHED 插件可以清除任何其他特定于平台的错误状态寄存器。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | ntddk.h (包括 Ntddk.h) |
IRQL | IRQL = DISPATCH_LEVEL |