PSHED_PI_GET_INJECTION_CAPABILITIES 콜백 함수(ntddk.h)

PSHED 플러그 인의 GetInjectionCapabilities 콜백 함수는 하드웨어 플랫폼에 삽입할 수 있는 하드웨어 오류 유형을 설명하는 오류 주입 기능 공용 구조체를 반환합니다.

구문

PSHED_PI_GET_INJECTION_CAPABILITIES PshedPiGetInjectionCapabilities;

NTSTATUS PshedPiGetInjectionCapabilities(
  [in, out, optional] PVOID PluginContext,
  [out]               PWHEA_ERROR_INJECTION_CAPABILITIES Capabilities
)
{...}

매개 변수

[in, out, optional] PluginContext

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

[out] Capabilities

WHEA_ERROR_INJECTION_CAPABILITIES 공용 구조체에 대한 포인터입니다. 이 공용 구조체는 하드웨어 플랫폼에 삽입할 수 있는 하드웨어 오류 유형을 설명하는 데이터를 받습니다.

반환 값

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

반환 코드 설명
STATUS_SUCCESS 하드웨어 플랫폼에 삽입할 수 있는 하드웨어 오류 유형을 설명하는 데이터는 Capabilities 매개 변수가 가리키는 WHEA_ERROR_INJECTION_CAPABILITIES 공용 구조체에서 성공적으로 반환되었습니다.
STATUS_UNSUCCESSFUL 오류가 발생했습니다.

설명

오류 주입에 참여하는 PSHED 플러그 인은 플러그 인이 PshedRegisterPlugin 함수를 호출하여 PSHED에 등록할 때 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 구조체의 Callbacks.GetInjectionCapabilitiesCallbacks.InjectError 멤버가 GetInjectionCapabilitiesInjectError 콜백 함수를 가리키도록 설정합니다. 또한 PSHED 플러그 인은 WHEA_PSHED_PLUGIN_REGISTRATION_PACKET 구조체의 FunctionalAreaMask 멤버에서 PshedFAErrorInjection 플래그를 설정해야 합니다.

Windows 커널은 PSHED를 호출하여 WHEA 관리 애플리케이션의 오류 주입 기능에 대한 응답으로 하드웨어 플랫폼에 삽입할 수 있는 하드웨어 오류 유형에 대한 정보를 검색합니다. PSHED 플러그 인이 오류 주입에 참여하도록 등록된 경우 PSHED는 PSHED 플러그 인의 GetInjectionCapabilities 콜백 함수를 호출하여 하드웨어 플랫폼에 삽입할 수 있는 추가 유형의 하드웨어 오류에 대한 정보를 검색합니다.

요구 사항

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

추가 정보

InjectError

PshedRegisterPlugin

WHEA_ERROR_INJECTION_CAPABILITIES

WHEA_PSHED_PLUGIN_REGISTRATION_PACKET