Método IInterruptSync::RegisterServiceRoutine (portcls.h)
O método RegisterServiceRoutine
registra uma ISR (rotina de serviço de interrupção) que deve ser chamada quando ocorre uma interrupção.
Sintaxe
NTSTATUS RegisterServiceRoutine(
[in] PINTERRUPTSYNCROUTINE Routine,
[in] PVOID DynamicContext,
[in] BOOLEAN First
);
Parâmetros
[in] Routine
Ponteiro para a rotina que deve ser chamada. Esse parâmetro é um ponteiro de função do tipo PINTERRUPTSYNCROUTINE (consulte IInterruptSync).
[in] DynamicContext
Especifica um valor de contexto que é passado para a rotina quando ele é chamado.
[in] First
Especifica se a rotina é adicionada à cabeça ou à parte final da lista de ISRs. Se VERDADEIRO, a rotina será adicionada ao cabeçalho da lista. Se FALSE, ele será adicionado na parte final.
Valor de retorno
RegisterServiceRoutine
retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, o método retornará um código de erro apropriado.
Observações
Esse método adiciona a rotina especificada à lista de ISRs do objeto de sincronização. Quando ocorre uma interrupção, a rotina à frente da lista é chamada primeiro e a rotina na parte final é chamada por último.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Universal |
cabeçalho | portcls.h (inclua Portcls.h) |
IRQL | PASSIVE_LEVEL |