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 함수에 대한 첫 번째 호출 전에 0으로 초기화되어야 합니다.

[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 Record, SectionType 또는 SectionDescriptor 매개 변수가 NULL로 설정되었거나 Record 매개 변수를 통해 참조되는 WHEA_ERROR_RECORD 데이터가 잘못되었습니다.

설명

Context 매개 변수가 0으로 설정된 경우 WheaFindNextErrorRecordSection은 WHEA 오류 레코드 내의 첫 번째 WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 구조체에 대한 포인터를 반환합니다. 또한 WheaFindNextErrorRecordSectionSectionDescriptor 매개 변수를 통해 반환된 WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 관련된 상태 정보로 Context 매개 변수를 업데이트합니다.

WheaFindNextErrorRecordSection에 대한 후속 호출에서 함수는 WHEA 오류 레코드 내에서 다음 WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 구조체(사용 가능한 경우)를 반환합니다. 함수가 다음 WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 구조를 찾으면 Context 매개 변수가 업데이트됩니다. 그렇지 않으면 함수가 STATUS_NOT_FOUND 반환합니다.

지정된 WHEA 오류 레코드 내에서 첫 번째 WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 찾으려면 호출자는 컨텍스트 매개 변수에 주소가 전달되는 변수를 호출 전에 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