Função de retorno de chamada POFXCALLBACKENUMERATEUNMASKEDINTERRUPTS (pepfx.h)

A rotina EnumerateUnmaskedInterrupts enumera fontes de interrupção cujas interrupções são desmascaradas e habilitadas.

Sintaxe

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

Parâmetros

[in, optional] PluginHandle

Um valor POHANDLE. Se não for NULL, esse parâmetro será um identificador que identifica o PEP (plug-in de extensão de plataforma), nesse caso , EnumerateUnmaskedInterrupts enumera apenas as interrupções gerenciadas por esse PEP. Se esse parâmetro for NULL, EnumerateUnmaskedInterrupts enumera todas as interrupções na plataforma de hardware que estão desmascaradas e habilitadas.

[in, optional] EnumerateFlags

Nenhum sinalizador está definido no momento. Defina esse parâmetro como PEP_ENUMERATE_UNMASKED_INTERRUPT_FLAGS_NONE (0x0).

[in] Callback

Um ponteiro para uma rotina de retorno de chamada EnumerateInterruptSource implementada pelo chamador. Essa rotina de retorno de chamada é chamada uma vez para cada fonte de interrupção cuja interrupção é desmascarada. Esses retornos de chamada ocorrem de forma síncrona antes que a rotina EnumerateUnmaskedInterrupts retorne.

[in] CallbackContext

Um ponteiro para um contexto de retorno de chamada. Esse ponteiro é passado como um parâmetro para a rotina de retorno de chamada EnumerateInterruptSource apontada pelo parâmetro Callback . O conteúdo do contexto de retorno de chamada é definido por PEP e é opaco para a PoFx (estrutura de gerenciamento de energia ).

[in, out] InterruptInformation

Um ponteiro para um buffer alocado pelo chamador cujo tamanho é pelo menos sizeof(PEP_UNMASKED_INTERRUPT_INFORMATION) bytes. EnumerateUnmaskedInterrupts usará esse buffer para transferir informações de interrupção para o PEP durante chamadas para a rotina de retorno de chamada EnumerateInterruptSource do PEP.

Retornar valor

EnumerateUnmaskedInterrupts retornará STATUS_SUCCESS se a chamada enumerar com êxito as interrupções. Os possíveis valores retornados por erro incluem o código de status a seguir.

Valor retornado Descrição
STATUS_INVALID_PARAMETER
O membro Size ou Version da estrutura PEP_UNMASKED_INTERRUPT_INFORMATION contém um valor inválido.

Comentários

Essa rotina é implementada pela PoFx e é chamada pelo PEP. O membro EnumerateUnmaskedInterrupts da estrutura PEP_KERNEL_INFORMATION_STRUCT_V3 é um ponteiro para uma rotina EnumerateUnmaskedInterrupts .

Antes que a plataforma insira um estado de energia do sistema no qual os controladores de interrupção são fechados por energia, o PEP pode chamar EnumerateUnmaskedInterrupts para obter as informações necessárias para configurar corretamente os controladores de ativação para interrupções que devem permanecer desmascaradas.

O PEP pode chamar essa rotina em IRQL <= HIGH_LEVEL.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte começando com Windows 10.
Plataforma de Destino Windows
Cabeçalho pepfx.h (inclua Pep_x.h)
IRQL <= HIGH_LEVEL

Confira também

EnumerateInterruptSource

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_UNMASKED_INTERRUPT_INFORMATION