PSHED_PI_GET_ERROR_SOURCE_INFO 콜백 함수(ntddk.h)

PSHED 플러그 인의 GetErrorSourceInfo 콜백 함수는 하드웨어 플랫폼에서 구현되는 특정 오류 원본을 나타내는 오류 원본 설명자 구조를 반환합니다.

구문

PSHED_PI_GET_ERROR_SOURCE_INFO PshedPiGetErrorSourceInfo;

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

매개 변수

[in, out, optional] PluginContext

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

[in, out] ErrorSource

하드웨어 플랫폼에서 구현되는 특정 오류 원본을 나타내는 WHEA_ERROR_SOURCE_DESCRIPTOR 구조체에 대한 포인터입니다.

반환 값

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

반환 코드 설명
STATUS_SUCCESS 오류 원본 정보가 업데이트되었습니다.
STATUS_UNSUCCESSFUL 오류가 발생했습니다.

설명

오류 원본 검색에 참여하는 PSHED 플러그 인은 Callbacks.GetAllErrorSources 멤버를 설정하고, 필요에 따라 플러그 인이 PshedRegisterPlugin 함수를 호출하여 PshedRegisterPlugin 함수를 호출할 때 해당 GetAllErrorSources 및 GetErrorSourceInfo 콜백 함수를 가리키도록 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 구조의 Callbacks.GetErrorSourceInfo 멤버를 설정합니다. 또한 PSHED 플러그 인은 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 구조체의 FunctionalAreaMask 멤버에서 PshedFADiscovery 플래그를 설정해야 합니다.

Windows 커널은 PSHED를 호출하여 특정 오류 원본에 대한 추가 세부 정보를 가져옵니다. 이 문제는 버스 드라이버가 새 오류 원본을 시스템에 추가할 때 발생합니다. 예를 들어 PCI 드라이버가 PCIe 오류를 보고할 수 있는 PCI Express(PCIe) 디바이스를 검색하면 운영 체제에 오류 원본을 보고합니다.

PSHED 플러그 인이 오류 원본 검색에 참여하도록 등록되고 GetErrorSourceInfo 콜백 함수를 구현한 경우 PSHED가 오류 원본에 대해 수집한 정보로 오류 원본 설명자 구조를 업데이트한 후 PSHED는 PSHED 플러그 인의 GetErrorSourceInfo 콜백 함수를 호출하여 PSHED 플러그 인이 오류 원본에 대한 추가 세부 정보를 제공할 수 있도록 합니다. GetErrorSourceInfo 콜백 함수는 오류 원본 설명자 구조의 내용을 업데이트하여 하드웨어 플랫폼에서 구현할 때 오류 원본을 정확하게 나타내도록 합니다.

요구 사항

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

추가 정보

GetAllErrorSources

PshedRegisterPlugin

WHEA_ERROR_SOURCE_DESCRIPTOR

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET