POFXCALLBACKENUMERATEUNMASKEDINTERRUPTS callback function (pepfx.h)
The EnumerateUnmaskedInterrupts routine enumerates interrupt sources whose interrupts are unmasked and enabled.
Syntax
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
)
{...}
Parameters
[in, optional] PluginHandle
A POHANDLE value. If non-NULL, this parameter is a handle that identifies the platform extension plug-in (PEP), in which case EnumerateUnmaskedInterrupts enumerates only interrupts that are managed by this PEP. If this parameter is NULL, EnumerateUnmaskedInterrupts enumerates all interrupts in the hardware platform that are unmasked and enabled.
[in, optional] EnumerateFlags
No flags are currently defined. Set this parameter to PEP_ENUMERATE_UNMASKED_INTERRUPT_FLAGS_NONE (0x0).
[in] Callback
A pointer to a caller-implemented EnumerateInterruptSource callback routine. This callback routine is called once for each interrupt source whose interrupt is unmasked. These callbacks occur synchronously before the EnumerateUnmaskedInterrupts routine returns.
[in] CallbackContext
A pointer to a callback context. This pointer is passed as a parameter to the EnumerateInterruptSource callback routine pointed to by the Callback parameter. The contents of the callback context are PEP-defined, and are opaque to the power management framework (PoFx).
[in, out] InterruptInformation
A pointer to a caller-allocated buffer whose size is at least sizeof(PEP_UNMASKED_INTERRUPT_INFORMATION) bytes. EnumerateUnmaskedInterrupts will use this buffer to transfer interrupt information to the PEP during calls to the PEP's EnumerateInterruptSource callback routine.
Return value
EnumerateUnmaskedInterrupts returns STATUS_SUCCESS if the call successfully enumerates the interrupts. Possible error return values include the following status code.
Return value | Description |
---|---|
|
The Size or Version member of the PEP_UNMASKED_INTERRUPT_INFORMATION structure contains an invalid value. |
Remarks
This routine is implemented by PoFx and is called by the PEP. The EnumerateUnmaskedInterrupts member of the PEP_KERNEL_INFORMATION_STRUCT_V3 structure is a pointer to an EnumerateUnmaskedInterrupts routine.
Before the platform enters a system power state in which the interrupt controllers are power-gated, the PEP can call EnumerateUnmaskedInterrupts to get the information it needs to properly configure wake-up controllers for interrupts that are to remain unmasked.
The PEP can call this routine at IRQL <= HIGH_LEVEL.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported starting with Windows 10. |
Target Platform | Windows |
Header | pepfx.h (include Pep_x.h) |
IRQL | <= HIGH_LEVEL |