오류 처리

Windows WHEA(하드웨어 오류 아키텍처)는 오류 조건의 분류에 따라 다양한 방법으로 하드웨어 오류를 처리합니다. 하드웨어 오류의 다양한 분류에 대한 자세한 내용은 하드웨어 오류 및 오류 원본을 참조하세요.

다음은 각 유형의 하드웨어 오류 조건에 대한 응답으로 WHEA에서 수행한 작업 시퀀스에 대해 설명합니다. 이러한 작업에서 참조되는 WHEA 구성 요소에 대한 자세한 내용은 Windows 하드웨어 오류 아키텍처의 구성 요소를 참조하세요.

수정된 하드웨어 오류

  1. 하위 수준 하드웨어 오류 처리기(LLHEH)는 하드웨어 오류 조건의 존재에 대한 알림을 받습니다.

  2. LLHEH는 하드웨어 오류가 있는지 확인합니다.

  3. LLHEH는 오류 원본에서 하드웨어 오류 정보를 검색하고 오류 데이터를 사용하여 하드웨어 오류 패킷을 채웁니다. 이 패킷은 WHEA_ERROR_PACKET 구조체로 형식이 지정됩니다.

  4. LLHEH는 플랫폼별 하드웨어 오류 드라이버 (PSHED)를 호출하여 플랫폼별 하드웨어 오류 정보를 검색합니다. PSHED 플러그 인이 설치되어 오류 정보 검색에 참여하도록 등록된 경우 PSHED는 PSHED 플러그 인을 호출하여 LLHEH로 반환되는 오류 정보를 추가로 보강할 수 있도록 합니다.

  5. LLHEH는 Windows 운영 체제 커널을 호출하여 오류 패킷을 전달합니다.

  6. Windows 커널은 오류 레코드 를 만들고 LLHEH에서 받은 오류 패킷의 정보와 오류 원본, 오류 심각도 및 오류가 발생한 횟수와 같은 오류에 대한 기타 정보로 채웁니다.

  7. Windows 커널은 PSHED를 호출하여 PSHED가 오류 레코드에 섹션을 추가할 수 있도록 합니다. PSHED 플러그 인이 설치되어 오류 정보 검색에 참여하도록 등록된 경우 PSHED는 오류 레코드의 정보를 추가로 보강할 수 있도록 PSHED 플러그 인을 호출합니다.

  8. Windows 커널은 PSHED를 호출하여 오류 원본의 상태 레지스터를 지웁니다. PSHED 플러그 인이 설치되어 오류 정보 검색에 참여하도록 등록된 경우 PSHED는 오류 원본의 상태 레지스터를 지울 수 있도록 PSHED 플러그 인을 차례로 호출합니다.

  9. 하드웨어 오류 조건이 오류 원본의 오류 임계값을 초과하면 Windows 커널은 ETW 이벤트를 생성하고 시스템 이벤트 로그에 오류 정보를 기록합니다.

심각하지 않은 수정되지 않은 하드웨어 오류

  1. LLHEH는 하드웨어 오류 조건의 존재에 대한 알림을 받습니다.

  2. LLHEH는 하드웨어 오류가 있는지 확인합니다.

  3. LLHEH는 오류 원본에서 하드웨어 오류 정보를 검색하고 오류 데이터를 사용하여 하드웨어 오류 패킷을 채웁니다.

  4. LLHEH는 PSHED를 호출하여 플랫폼별 하드웨어 오류 정보를 검색합니다. PSHED 플러그 인이 설치되어 오류 정보 검색에 참여하도록 등록된 경우 PSHED는 PSHED 플러그 인을 호출하여 LLHEH로 반환되는 오류 정보를 추가로 보강할 수 있도록 합니다.

  5. LLHEH는 Windows 운영 체제 커널을 호출하여 오류 패킷을 전달합니다.

  6. Windows 커널은 오류 레코드 를 만들고 LLHEH에서 받은 오류 패킷의 정보와 오류 원본, 오류 심각도 및 오류가 발생한 횟수와 같은 오류에 대한 기타 정보로 채웁니다.

  7. Windows 커널은 PSHED를 호출하여 PSHED가 오류 레코드에 섹션을 추가할 수 있도록 합니다. PSHED 플러그 인이 설치되어 오류 정보 검색에 참여하도록 등록된 경우 PSHED는 오류 레코드의 정보를 추가로 보강할 수 있도록 PSHED 플러그 인을 호출합니다.

  8. Windows 커널은 하드웨어 오류 조건을 수정하여 오류에서 복구하려고 시도합니다. 그런 다음 Windows 커널은 PSHED를 호출하여 필요한 복구 작업을 수행할 수 있는 기회를 제공합니다. PSHED 플러그 인이 설치되어 오류 복구에 참여하도록 등록된 경우 PSHED는 오류를 수정하거나 오류 조건에서 완전히 복구하는 데 필요한 추가 작업을 수행할 수 있도록 PSHED 플러그 인을 호출합니다.

  9. 하드웨어 오류가 성공적으로 수정된 경우 Windows 커널은 ETW 이벤트를 생성하고 시스템 이벤트 로그에 오류 정보를 기록합니다. 하드웨어 오류가 수정되지 않은 경우 Windows 커널은 PSHED를 호출하여 오류 레코드를 저장합니다. PSHED 플러그 인이 설치되어 오류 레코드 지속성에 참여하도록 등록된 경우 PSHED는 오류 레코드를 저장할 수 있도록 PSHED 플러그 인을 호출합니다. 오류 레코드가 저장되면 Windows 커널에서 버그 검사 생성합니다.

수정되지 않은 심각한 하드웨어 오류

  1. LLHEH는 하드웨어 오류 조건의 존재에 대한 알림을 받습니다.

  2. LLHEH는 하드웨어 오류가 있는지 확인합니다.

  3. LLHEH는 오류 원본에서 하드웨어 오류 정보를 검색하고 오류 데이터를 사용하여 하드웨어 오류 패킷을 채웁니다.

  4. LLHEH는 PSHED를 호출하여 플랫폼별 하드웨어 오류 정보를 검색합니다. PSHED 플러그 인이 설치되어 오류 정보 검색에 참여하도록 등록된 경우 PSHED는 PSHED 플러그 인을 호출하여 LLHEH로 반환되는 오류 정보를 추가로 보강할 수 있도록 합니다.

  5. LLHEH는 Windows 운영 체제 커널을 호출하여 오류 패킷을 전달합니다.

  6. Windows 커널은 오류 레코드 를 만들고 LLHEH에서 받은 오류 패킷의 정보와 오류 원본, 오류 심각도 및 오류가 발생한 횟수와 같은 오류에 대한 기타 정보로 채웁니다.

  7. Windows 커널은 PSHED를 호출하여 오류 레코드를 저장합니다. PSHED 플러그 인이 설치되어 오류 레코드 지속성에 참여하도록 등록된 경우 PSHED는 오류 레코드를 저장할 수 있도록 PSHED 플러그 인을 호출합니다.

  8. Windows 커널은 버그 검사 생성합니다.