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 回调例程,Callback 参数指向该例程。 回调上下文的内容是 PEP 定义的,并且与 电源管理框架(PoFx)不透明。

[in, out] InterruptInformation

指向调用方分配的缓冲区的指针,其大小至少为 PEP_UNMASKED_INTERRUPT_INFORMATION)字节大小。 EnumerateUnmaskedInterrupts 将在调用 PEP 的 EnumerateInterruptSource 回调例程期间使用此缓冲区将中断信息传输到 PEP。

返回值

如果调用成功枚举中断,EnumerateUnmaskedInterrupts 返回STATUS_SUCCESS。 可能的错误返回值包括以下状态代码。

返回值 描述
STATUS_INVALID_PARAMETER
大小版本PEP_UNMASKED_INTERRUPT_INFORMATION 结构的成员包含无效值。

言论

此例程由 PoFx 实现,由 PEP 调用。 PEP_KERNEL_INFORMATION_STRUCT_V3 结构的 EnumerateUnmaskedInterrupts 成员是指向 EnumerateUnmaskedInterrupts 例程的指针。

在平台进入中断控制器受电源控制的系统电源状态之前,PEP 可以调用 EnumerateUnmaskedInterrupts 以获取它需要的信息,以便为要保持未屏蔽的中断正确配置唤醒控制器的信息。

PEP 可以在 IRQL <= HIGH_LEVEL 调用此例程。

要求

要求 价值
最低支持的客户端 从 Windows 10 开始支持。
目标平台 窗户
标头 pep_x.h (包括 Pep_x.h)
IRQL <= HIGH_LEVEL

另请参阅

EnumerateInterruptSource

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_UNMASKED_INTERRUPT_INFORMATION