다음을 통해 공유


PSHED_PI_ENABLE_ERROR_SOURCE 콜백 함수(ntddk.h)

PSHED 플러그 인의 EnableErrorSource 콜백 함수는 오류 원본을 사용하도록 설정합니다.

통사론

PSHED_PI_ENABLE_ERROR_SOURCE PshedPiEnableErrorSource;

NTSTATUS PshedPiEnableErrorSource(
  [in, out, optional] PVOID PluginContext,
  [in]                PWHEA_ERROR_SOURCE_DESCRIPTOR ErrorSource
)
{...}

매개 변수

[in, out, optional] PluginContext

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

[in] ErrorSource

사용 중인 오류 원본을 설명하는 WHEA_ERROR_SOURCE_DESCRIPTOR 구조체에 대한 포인터입니다.

반환 값

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

반환 코드 묘사
STATUS_SUCCESS 오류 원본을 사용하도록 설정했습니다.
STATUS_NOT_SUPPORTED PSHED 플러그 인은 지정된 오류 원본을 사용하도록 설정할 수 없습니다.
STATUS_UNSUCCESSFUL 오류가 발생했습니다.

발언

오류 소스 제어에 참여하는 PSHED 플러그 인은 Callbacks.SetErrorSourceInfo, Callbacks.EnableErrorSourceCallbacks.DisableErrorSourceWHEA_PSHED_PLUGIN_REGISTRATION_PACKET 구조체의 멤버를 가리키도록 설정합니다. SetErrorSourceInfo, EnableErrorSource및 플러그 인이 PshedRegisterPlugin 함수를 호출할 때 DisableErrorSource 콜백 함수를 PSHED에 등록합니다. 또한 PSHED 플러그 인은 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 구조체의 FunctionalAreaMask 멤버에서 PshedFAErrorSourceControl 플래그를 설정해야 합니다.

Windows 커널은 PSHED를 호출하여 오류 원본 검색 중에 보고된 각 오류 원본을 사용하도록 설정합니다. 또한 Windows 커널은 PSHED를 호출하여 WHEA 관리 애플리케이션의 오류 원본 사용 요청에 대한 응답으로 오류 원본을 사용하도록 설정합니다. PSHED 플러그 인이 오류 소스 제어에 참여하도록 등록된 경우 PSHED는 PSHED 플러그 인의 EnableErrorSource 콜백 함수를 호출하여 PSHED 플러그 인에 오류 원본을 사용하도록 설정할 기회를 제공합니다. EnableErrorSource 콜백 함수가 STATUS_NOT_SUPPORTED 반환하면 PSHED에서 오류 원본을 사용하도록 설정합니다. 그렇지 않으면 PSHED는 EnableErrorSource 콜백 함수에서 반환되는 반환 값만 반환합니다.

PSHED 플러그 인이 오류 원본을 성공적으로 사용하도록 설정하면 PSHED 플러그 인의 EnableErrorSource 콜백 함수가 반환된 후 PSHED 플러그 인을 대신하여 WHEA_ERROR_SOURCE_DESCRIPTOR 구조가 업데이트됩니다. PSHED 플러그 인의 EnableErrorSource 콜백 함수는 오류 원본 설명자를 수정하면 안 됩니다.

요구 사항

요구
대상 플랫폼 바탕 화면
헤더 ntddk.h(Ntddk.h 포함)
IRQL IRQL = DISPATCH_LEVEL

참고 항목

disableErrorSource

PshedRegisterPlugin

SetErrorSourceInfo

WHEA_ERROR_SOURCE_DESCRIPTOR

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET