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 구조체에 대한 포인터를 반환합니다. 또한 WheaFindNextErrorRecordSection은 SectionDescriptor 매개 변수를 통해 반환된 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 |