POFXCALLBACKENUMERATEUNMASKEDINTERRUPTS 콜백 함수(pepfx.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
크기가 (PEP_UNMASKED_INTERRUPT_INFORMATION) 바이트이상인 호출자 할당 버퍼에 대한 포인터입니다. EnumerateUnmaskedInterrupts 이 버퍼를 사용하여 PEP의 EnumerateInterruptSource 콜백 루틴을 호출하는 동안 인터럽트 정보를 PEP로 전송합니다.
반환 값
EnumerateUnmaskedInterrupts 호출이 인터럽트를 성공적으로 열거하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값에는 다음 상태 코드가 포함됩니다.
반환 값 | 묘사 |
---|---|
|
PEP_UNMASKED_INTERRUPT_INFORMATION 구조체의 Size 또는 Version 멤버에 잘못된 값이 포함되어 있습니다. |
발언
이 루틴은 PoFx에 의해 구현되며 PEP에 의해 호출됩니다. PEP_KERNEL_INFORMATION_STRUCT_V3 구조체의 EnumerateUnmaskedInterrupts 멤버는 EnumerateUnmaskedInterrupts 루틴에 대한 포인터입니다.
플랫폼이 인터럽트 컨트롤러가 전원 제어되는 시스템 전원 상태가 되기 전에 PEP는 EnumerateUnmaskedInterrupts 호출하여 마스크를 해제된 상태로 유지해야 하는 인터럽트에 대해 절전 모드 해제 컨트롤러를 올바르게 구성하는 데 필요한 정보를 가져올 수 있습니다.
PEP는 IRQL <= HIGH_LEVEL 이 루틴을 호출할 수 있습니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10부터 지원됩니다. |
대상 플랫폼 | Windows |
헤더 | pepfx.h(Pep_x.h 포함) |
IRQL | <= HIGH_LEVEL |