POFXCALLBACKENUMERATEUNMASKEDINTERRUPTS - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// pep_x.h

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
)
{...}
View the official Windows Driver Kit DDI reference
// pepfx.h

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
)
{...}
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nc-pep_x-pofxcallbackenumerateunmaskedinterrupts)

POFXCALLBACKENUMERATEUNMASKEDINTERRUPTS callback function (pep_x.h)

Description

The EnumerateUnmaskedInterrupts routine enumerates interrupt sources whose interrupts are unmasked and enabled.

Parameters

PluginHandle [in, optional]

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.

EnumerateFlags [in, optional]

No flags are currently defined. Set this parameter to PEP_ENUMERATE_UNMASKED_INTERRUPT_FLAGS_NONE (0x0).

Callback [in]

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.

CallbackContext [in]

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).

InterruptInformation [in, out]

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
STATUS_INVALID_PARAMETER 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.

See also

EnumerateInterruptSource

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_UNMASKED_INTERRUPT_INFORMATION


Windows Driver Kit DDI reference (nc-pepfx-pofxcallbackenumerateunmaskedinterrupts)

POFXCALLBACKENUMERATEUNMASKEDINTERRUPTS callback function (pepfx.h)

Description

The EnumerateUnmaskedInterrupts routine enumerates interrupt sources whose interrupts are unmasked and enabled.

Parameters

PluginHandle [in, optional]

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.

EnumerateFlags [in, optional]

No flags are currently defined. Set this parameter to PEP_ENUMERATE_UNMASKED_INTERRUPT_FLAGS_NONE (0x0).

Callback [in]

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.

CallbackContext [in]

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).

InterruptInformation [in, out]

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
STATUS_INVALID_PARAMETER 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.

See also

EnumerateInterruptSource

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_UNMASKED_INTERRUPT_INFORMATION