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

指向回调上下文的指针。 此指针作为参数传递给 Callback 参数指向EnumerateInterruptSource 回调例程。 回调上下文的内容是 PEP 定义的,并且与 PoFx) (电源管理框架 不透明。

[in, out] InterruptInformation

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

返回值

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

返回值 说明
STATUS_INVALID_PARAMETER
PEP_UNMASKED_INTERRUPT_INFORMATION 结构的 SizeVersion 成员包含无效值。

注解

此例程由 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

另请参阅

EnumerateInterruptSource

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_UNMASKED_INTERRUPT_INFORMATION