Compartilhar via


Função de retorno de chamada POFXCALLBACKENUMERATEUNMASKEDINTERRUPTS (pep_x.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 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 um EnumerateInterruptSource implementado pelo chamador rotina de retorno de chamada. 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 o EnumerateUnmaskedInterrupts rotina 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 de retorno de chamada. O conteúdo do contexto de retorno de chamada é definido por PEP e é opaco para o da estrutura de gerenciamento de energia (PoFx).

[in, out] InterruptInformation

Um ponteiro para um buffer alocado por chamador cujo tamanho é pelo menos tamanhos de(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.

Valor de retorno

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

Valor de retorno Descrição
STATUS_INVALID_PARAMETER
O tamanho ou membro da versão da estrutura PEP_UNMASKED_INTERRUPT_INFORMATION contém um valor inválido.

Observações

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 no IRQL <= HIGH_LEVEL.

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte a partir do Windows 10.
da Plataforma de Destino Windows
cabeçalho pep_x.h (inclua Pep_x.h)
IRQL <= HIGH_LEVEL

Consulte também

EnumerateInterruptSource

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_UNMASKED_INTERRUPT_INFORMATION