다음을 통해 공유


PSHED_PI_CLEAR_ERROR_STATUS 콜백 함수(ntddk.h)

PSHED 플러그 인의 ClearErrorStatus 콜백 함수는 수정된 하드웨어 오류 조건에 대해 등록할 상태 플랫폼별 오류를 지웁니다.

구문

PSHED_PI_CLEAR_ERROR_STATUS PshedPiClearErrorStatus;

NTSTATUS PshedPiClearErrorStatus(
  [in, out, optional] PVOID PluginContext,
  [in]                PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource,
  [in]                ULONG BufferLength,
  [in]                PWHEA_ERROR_RECORD ErrorRecord
)
{...}

매개 변수

[in, out, optional] PluginContext

PSHED 플러그 인이 PshedRegisterPlugin 함수를 호출하여 PSHED에 등록할 때 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 구조의 Context 멤버에 지정된 컨텍스트 영역에 대한 포인터입니다.

[in] ErrorSource

하드웨어 오류를 보고한 오류 원본을 설명하는 WHEA_ERROR_SOURCE_DESCRIPTOR 구조체에 대한 포인터입니다.

[in] BufferLength

ErrorRecord 매개 변수가 가리키는 버퍼의 크기(바이트)입니다.

[in] ErrorRecord

오류 레코드를 설명하는 WHEA_ERROR_RECORD 구조체에 대한 포인터입니다. 오류 레코드는 플랫폼별 오류 상태 레지스터가 지워지는 수정된 하드웨어 오류 조건에 대해 설명합니다.

반환 값

PSHED 플러그 인의 ClearErrorStatus 콜백 함수는 다음 NTSTATUS 코드 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS 수정된 하드웨어 오류 조건에 대한 등록을 상태 플랫폼별 오류가 성공적으로 지워졌습니다.
STATUS_NOT_SUPPORTED PSHED 플러그 인은 지정된 오류 원본을 지원하지 않습니다.
STATUS_UNSUCCESSFUL 오류가 발생했습니다.

설명

오류 정보 검색에 참여하는 PSHED 플러그 인은 Callbacks.RetrieveErrorInfo를 설정합니다. 플러그 인이 PshedRegisterPlugin 함수를 호출하여 PSHED에 등록할 때 해당 RetrieveErrorInfo, FinalizeErrorRecordClearErrorStatus 콜백 함수를 가리키도록 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 구조의 Callbacks.FinalizeErrorRecordCallbacks.ClearErrorStatus 멤버입니다. 또한 PSHED 플러그 인은 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 구조체의 FunctionalAreaMask 멤버에서 PshedFAErrorInfoRetrieval 플래그를 설정해야 합니다.

수정된 하드웨어 오류 조건의 경우 Windows 커널은 PSHED를 호출하여 오류 원본의 오류를 지우고 상태 오류를 처리하는 마지막 단계로 등록합니다. PSHED 플러그 인이 오류 정보 검색에 참여하도록 등록된 경우 PSHED 플러그 인은 PSHED 플러그 인의 ClearErrorStatus 콜백 함수를 호출하여 PSHED 플러그 인이 레지스터에 상태 추가 플랫폼별 오류를 지울 수 있도록 합니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 ntddk.h(Ntddk.h 포함)
IRQL IRQL = DISPATCH_LEVEL

추가 정보

FinalizeErrorRecord

PshedRegisterPlugin

RetrieveErrorInfo

WHEA_ERROR_RECORD

WHEA_ERROR_SOURCE_DESCRIPTOR

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET