PPO_ENUMERATE_INTERRUPT_SOURCE_CALLBACK callback function (pep_x.h)

An EnumerateInterruptSource callback routine supplies a platform extension plug-in (PEP) with information about an interrupt source.

Syntax

PPO_ENUMERATE_INTERRUPT_SOURCE_CALLBACK PpoEnumerateInterruptSourceCallback;

BOOLEAN PpoEnumerateInterruptSourceCallback(
  [in] PVOID CallbackContext,
  [in] PPEP_UNMASKED_INTERRUPT_INFORMATION InterruptInformation
)
{...}

Parameters

[in] CallbackContext

A pointer to a callback context. The PEP specified this pointer value as a parameter in the EnumerateUnmaskedInterrupts call that initiated the enumeration of interrupt sources.

[in] InterruptInformation

A pointer to a PEP_UNMASKED_INTERRUPT_INFORMATION structure that contains information about the interrupt source.

Return value

If the EnumerateInterruptSource callback routine returns TRUE, EnumerateUnmaskedInterrupts will continue to call the EnumerateInterruptSource callback routine while more interrupts are available to be enumerated. If the EnumerateInterruptSource callback routine returns FALSE, EnumerateUnmaskedInterrupts returns without enumerating any more interrupts.

Remarks

This callback routine is implemented by a PEP, and is called by the Windows power management framework (PoFx). The Callback parameter of the EnumerateUnmaskedInterrupts routine is a pointer to an EnumerateInterruptSource callback routine.

After a PEP calls EnumerateUnmaskedInterrupts to enumerate the unmasked interrupt sources, PoFx calls the PEP's EnumerateInterruptSource callback routine once for each unmasked interrupt source. EnumerateUnmaskedInterrupts returns only after the last call to the EnumerateInterruptSource callback routine completes.

An EnumerateInterruptSource callback routine is called at the same IRQL as the PEP's call to EnumerateUnmaskedInterrupts that initiates the enumeration callbacks.

Requirements

   
Target Platform Windows
Header pep_x.h (include Pep_x.h)
IRQL See Remarks.

See also

PEP_UNMASKED_INTERRUPT_INFORMATION

EnumerateUnmaskedInterrupts