Поделиться через


Функция 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, отформатированную в виде WHEA_ERROR_RECORD структуры.

[in, out] Context

Указатель на переменную ULONG, которая поддерживает текущее состояние поиска.

Эта переменная должна быть инициализирована до нуля перед первым вызовом функции WheaFindNextErrorRecordSection .

[out] SectionDescriptor

Адрес указателя WHEA_ERROR_RECORD_SECTION_DESCRIPTOR .

Если функция WheaFindNextErrorRecordSection находит следующую структуру WHEA_ERROR_RECORD_SECTION_DESCRIPTOR в указанной записи ошибки WHEA, функция задает для параметра SectionDescriptor адрес этой структуры в указанной записи ошибки WHEA.

[out, optional] SectionData

Адрес указателя PVOID.

Если функция WheaFindNextErrorRecordSection находит следующую структуру WHEA_ERROR_RECORD_SECTION_DESCRIPTOR в указанной записи об ошибке WHEA, функция задает параметру SectionData адрес данных об ошибках оборудования, связанных с этим дескрипторов.

Этот параметр является необязательным и должен иметь значение NULL , если указатель на данные раздела записи об ошибке не требуется.

Возвращаемое значение

WheaFindNextErrorRecordSection возвращает один из следующих кодов NTSTATUS:

Код возврата Описание
STATUS_SUCCESS Обнаружена следующая WHEA_ERROR_RECORD_SECTION_DESCRIPTOR структура.
STATUS_NOT_FOUND Следующая WHEA_ERROR_RECORD_SECTION_DESCRIPTOR структура не найдена.
STATUS_INVALID_PARAMETER Для параметров Record, SectionType или SectionDescriptor задано значение NULL, либо WHEA_ERROR_RECORD данных, на которые ссылается параметр Record , является недопустимым.

Комментарии

Если параметр Context имеет значение 0, WheaFindNextErrorRecordSection возвращает указатель на первую структуру WHEA_ERROR_RECORD_SECTION_DESCRIPTOR в записи об ошибке WHEA. WheaFindNextErrorRecordSection также обновит параметр Context сведениями о состоянии, связанными с WHEA_ERROR_RECORD_SECTION_DESCRIPTOR, возвращенными с помощью параметра SectionDescriptor .

При последующих вызовах WheaFindNextErrorRecordSection функция возвращает следующую структуру WHEA_ERROR_RECORD_SECTION_DESCRIPTOR (если она доступна) в записи ошибки WHEA. Если функция находит следующую структуру WHEA_ERROR_RECORD_SECTION_DESCRIPTOR, она обновит параметр Context . В противном случае функция вернет STATUS_NOT_FOUND.

Чтобы найти первый WHEA_ERROR_RECORD_SECTION_DESCRIPTOR в указаннойзаписи ошибки WHEA, вызывающий объект должен установить для переменной, адрес которой передается в параметре Context , значение 0 перед вызовом. После этого вызывающий объект не должен изменять значение переменной при поиске следующего WHEA_ERROR_RECORD_SECTION_DESCRIPTOR с помощью последующих вызовов WheaFindNextErrorRecordSection.

Кроме того, если WheaFindNextErrorRecordSection возвращает STATUS_SUCCESS, а вызывающий объект задает для параметра SectionData адрес переменной указателя PVOID, функция обновляет параметр адресом данных об ошибках оборудования, связанных с указанной структурой WHEA_ERROR_RECORD_SECTION_DESCRIPTOR .

Формат данных об ошибках оборудования зависит от элемента SectionTypeструктуры WHEA_ERROR_RECORD_SECTION_DESCRIPTOR , на которую ссылается параметр SectionDescriptor . Например, если элемент 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