Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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 | pep_x.h (include Pep_x.h) |
IRQL | <= HIGH_LEVEL |