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。 可能的错误返回值包括以下状态代码。
返回值 | 描述 |
---|---|
|
大小 或 版本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 |