POFXCALLBACKENUMERATEUNMASKEDINTERRUPTS 콜백 함수(pep_x.h)

EnumerateUnmaskedInterrupts 루틴은 인터럽트가 마스크를 해제하고 사용하도록 설정된 인터럽트 원본을 열거합니다.

구문

POFXCALLBACKENUMERATEUNMASKEDINTERRUPTS Pofxcallbackenumerateunmaskedinterrupts;

NTSTATUS Pofxcallbackenumerateunmaskedinterrupts(
  [in, optional] POHANDLE PluginHandle,
  [in, optional] ULONG EnumerateFlags,
  [in]           PPO_ENUMERATE_INTERRUPT_SOURCE_CALLBACK Callback,
  [in]           PVOID CallbackContext,
  [in, out]      PPEP_UNMASKED_INTERRUPT_INFORMATION InterruptInformation
)
{...}

매개 변수

[in, optional] PluginHandle

POHANDLE 값입니다. NULL이 아닌 경우 이 매개 변수는 PEP(플랫폼 확장 플러그 인)를 식별하는 핸들입니다. 이 경우 EnumerateUnmaskedInterrupts 는 이 PEP에서 관리하는 인터럽트만 열거합니다. 이 매개 변수가 NULL이면 EnumerateUnmaskedInterrupts 는 마스크를 해제하고 사용하도록 설정된 하드웨어 플랫폼의 모든 인터럽트를 열거합니다.

[in, optional] EnumerateFlags

플래그는 현재 정의되어 있지 않습니다. 이 매개 변수를 PEP_ENUMERATE_UNMASKED_INTERRUPT_FLAGS_NONE(0x0)로 설정합니다.

[in] Callback

호출자가 구현한 EnumerateInterruptSource 콜백 루틴에 대한 포인터입니다. 이 콜백 루틴은 인터럽트 마스크가 해제된 각 인터럽트 원본에 대해 한 번 호출됩니다. 이러한 콜백은 EnumerateUnmaskedInterrupts 루틴이 반환되기 전에 동기적으로 발생합니다.

[in] CallbackContext

콜백 컨텍스트에 대한 포인터입니다. 이 포인터는 콜백 매개 변수가 가리키는 EnumerateInterruptSource 콜백 루틴에 매개 변수로 전달됩니다. 콜백 컨텍스트의 내용은 PEP 정의되며 PoFx( 전원 관리 프레임워크 )에 불투명합니다.

[in, out] InterruptInformation

크기가 sizeof(PEP_UNMASKED_INTERRUPT_INFORMATION) 바이트 이상인 호출자 할당 버퍼에 대한 포인터입니다. EnumerateUnmaskedInterrupts 는 이 버퍼를 사용하여 PEP의 EnumerateInterruptSource 콜백 루틴을 호출하는 동안 인터럽트 정보를 PEP로 전송합니다.

반환 값

EnumerateUnmaskedInterrupts는 호출이 인터럽트를 성공적으로 열거하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.

반환 값 Description
STATUS_INVALID_PARAMETER
PEP_UNMASKED_INTERRUPT_INFORMATION 구조체의 Size 또는 Version 멤버에 잘못된 값이 포함되어 있습니다.

설명

이 루틴은 PoFx에 의해 구현되며 PEP에 의해 호출됩니다. PEP_KERNEL_INFORMATION_STRUCT_V3 구조체의 EnumerateUnmaskedInterrupts 멤버는 EnumerateUnmaskedInterrupts 루틴에 대한 포인터입니다.

플랫폼이 인터럽트 컨트롤러가 전원 제어되는 시스템 전원 상태가 되기 전에 PEP는 EnumerateUnmaskedInterrupts 를 호출하여 마스크를 해제된 상태로 유지해야 하는 인터럽트에 대해 절전 모드 해제 컨트롤러를 올바르게 구성하는 데 필요한 정보를 가져올 수 있습니다.

PEP는 IRQL <= HIGH_LEVEL 이 루틴을 호출할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10 부터 지원합니다.
대상 플랫폼 Windows
헤더 pep_x.h(Pep_x.h 포함)
IRQL <= HIGH_LEVEL

추가 정보

EnumerateInterruptSource

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_UNMASKED_INTERRUPT_INFORMATION