다음을 통해 공유


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, Callbacks.FinalizeErrorRecordCallbacks.ClearErrorStatusWHEA_PSHED_PLUGIN_REGISTRATION_PACKET 멤버를 가리키도록 설정합니다. 플러그 인이 PshedRegisterPlugin 함수를 호출하여 PSHED에 등록할 때 RetrieveErrorInfo, FinalizeErrorRecordClearErrorStatus 콜백 함수가 있습니다. 또한 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