WheaFindNextErrorRecordSection 函数 (ntddk.h)

WheaFindNextErrorRecordSection 函数允许调用方以迭代方式检查 WHEA 错误记录中的 WHEA 错误记录部分。 每个错误记录部分的格式设置为 WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 结构。

语法

NTSTATUS WheaFindNextErrorRecordSection(
  [in]            PWHEA_ERROR_RECORD                    Record,
  [in, out]       ULONG                                 *Context,
  [out]           PWHEA_ERROR_RECORD_SECTION_DESCRIPTOR *SectionDescriptor,
  [out, optional] PVOID                                 *SectionData
);

参数

[in] Record

指向格式化为WHEA_ERROR_RECORD结构的 WHEA 错误记录指针。

[in, out] Context

指向 ULONG 变量的指针,该变量维护搜索的当前状态。

在首次调用 WheaFindNextErrorRecordSection 函数之前,必须将此变量初始化为零。

[out] SectionDescriptor

WHEA_ERROR_RECORD_SECTION_DESCRIPTOR指针的地址。

如果 WheaFindNextErrorRecordSection 函数在指定的 WHEA 错误记录中找到下一个WHEA_ERROR_RECORD_SECTION_DESCRIPTOR结构,则函数将 SectionDescriptor 参数设置为指定 WHEA 错误记录中该结构的地址。

[out, optional] SectionData

PVOID 指针的地址。

如果 WheaFindNextErrorRecordSection 函数在指定的 WHEA 错误记录中找到下一个WHEA_ERROR_RECORD_SECTION_DESCRIPTOR结构,则函数会将 SectionData 参数设置为与该描述符关联的硬件错误数据的地址。

此参数是可选的,如果不需要指向错误记录节数据的指针,则必须将其设置为 NULL

返回值

WheaFindNextErrorRecordSection 返回以下 NTSTATUS 代码之一:

返回代码 说明
STATUS_SUCCESS 找到了下一 个WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 结构。
STATUS_NOT_FOUND 找不到下一 个WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 结构。
STATUS_INVALID_PARAMETER RecordSectionTypeSectionDescriptor 参数已设置为 NULL,或者通过 Record 参数引用的WHEA_ERROR_RECORD数据无效。

注解

如果 Context 参数设置为 0,则 WheaFindNextErrorRecordSection 返回指向 WHEA 错误记录中的第一个WHEA_ERROR_RECORD_SECTION_DESCRIPTOR结构的指针。 WheaFindNextErrorRecordSection 还将使用与通过 SectionDescriptor 参数返回WHEA_ERROR_RECORD_SECTION_DESCRIPTOR相关的状态信息更新 Context 参数。

在后续调用 WheaFindNextErrorRecordSection 时,该函数返回下一个WHEA_ERROR_RECORD_SECTION_DESCRIPTOR结构 ((如果 WHEA 错误记录中的) 可用)。 如果函数找到下一个WHEA_ERROR_RECORD_SECTION_DESCRIPTOR结构,它将更新 Context 参数。 否则,函数将返回STATUS_NOT_FOUND。

若要在指定的 WHEA 错误记录中找到第一个WHEA_ERROR_RECORD_SECTION_DESCRIPTOR,调用方必须在调用之前将变量(其地址在 Context 参数中传递)设置为 0。 之后,调用方不得在通过后续调用 WheaFindNextErrorRecordSection 查找下一个WHEA_ERROR_RECORD_SECTION_DESCRIPTOR时修改变量的值。

此外,如果 WheaFindNextErrorRecordSection 返回STATUS_SUCCESS并且调用方将 SectionData 参数设置为 PVOID 指针变量的地址,则函数将参数更新为与指定 WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 结构关联的硬件错误数据的地址。

硬件错误数据的格式取决于通过 SectionDescriptor 参数引用的 WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 结构的 SectionType 成员。 例如,如果 SectionType 成员的值PROCESSOR_GENERIC_ERROR_SECTION_GUID,则硬件错误数据的格式设置为 WHEA_PROCESSOR_GENERIC_ERROR_SECTION 结构。

要求

要求
最低受支持的客户端 在 Windows 7 及更高版本的 Windows 中受支持。
目标平台 桌面
标头 ntddk.h (包括 Ntddk.h)
IRQL IRQL <= DISPATCH_LEVEL

另请参阅

错误记录

WHEA_ERROR_PACKET

WHEA_ERROR_RECORD

WHEA_ERROR_RECORD_SECTION_DESCRIPTOR