Função KeRegisterNmiCallback (wdm.h)
A rotina KeRegisterNmiCallback registra uma rotina a ser chamada sempre que ocorre uma interrupção nãomaskável (NMI).
Sintaxe
PVOID KeRegisterNmiCallback(
[in] PNMI_CALLBACK CallbackRoutine,
[in, optional] PVOID Context
);
Parâmetros
[in] CallbackRoutine
Ponteiro para uma função do formulário:
BOOLEAN
XxxNmiCallback(
IN PVOID Context,
IN BOOLEAN Handled
);
[in, optional] Context
Especifica o valor a ser passado como o parâmetro Context de XxxNmiCallback quando ele é chamado.
Retornar valor
Com êxito, KeRegisterNmiCallback retorna um ponteiro opaco que o chamador passa para KeDeregisterNmiCallback para desregistrar o retorno de chamada. A rotina retornará NULL se não for possível registrar o retorno de chamada.
Comentários
Quando ocorre uma interrupção nãomaskável, o sistema chama cada retorno de chamada registrado na ordem inversa da ordem em que foram registrados. Para o primeiro retorno de chamada, o sistema passa FALSE como o parâmetro Handled . Para cada retorno de chamada subsequente, se qualquer retorno de chamada anterior retornar TRUE, o sistema passará TRUE como o parâmetro Handled , caso contrário, ele passará FALSE. Se qualquer retorno de chamada retornar um valor TRUE, o sistema considerará que a interrupção foi tratada. Caso contrário, o sistema chamará o manipulador padrão do HAL para a interrupção, o que normalmente faz com que o sistema bug marcar.
A rotina de retorno de chamada deve ser capaz de ser executada em IRQL = HIGH_LEVEL.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | IRQL <= APC_LEVEL (consulte a seção Comentários) |
Regras de conformidade de DDI | HwStorPortProhibitedDIs(storport), IrqlKeApcLte2(wdm) |