Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[Aplica-se a KMDF e UMDF]
A função de retorno de chamada de evento EvtInterruptDisable do driver desabilita uma interrupção de hardware especificada.
Sintaxe
EVT_WDF_INTERRUPT_DISABLE EvtWdfInterruptDisable;
NTSTATUS EvtWdfInterruptDisable(
[in] WDFINTERRUPT Interrupt,
[in] WDFDEVICE AssociatedDevice
)
{...}
Parâmetros
[in] Interrupt
Um identificador para um objeto de interrupção de estrutura.
[in] AssociatedDevice
Um identificador para o objeto do dispositivo de estrutura que o driver passou para WdfInterruptCreate.
Valor de retorno
A função de retorno de chamada EvtInterruptDisable deve retornar STATUS_SUCCESS ou outro valor de status para o qual NT_SUCCESS(status) é igual a VERDADEIRO se a função não encontrar erros. Caso contrário, essa função deve retornar um valor de status para o qual NT_SUCCESS(status) é igual false.
Observações
Para registrar uma função de retorno de chamada EvtInterruptDisable, o driver deve colocar o endereço da função de retorno de chamada em uma estrutura de WDF_INTERRUPT_CONFIG antes de chamar WdfInterruptCreate.
A estrutura chama a função de retorno de chamada EvtInterruptDisable do driver sempre que o dispositivo deixa seu estado de trabalho (D0). Além disso, um driver pode fazer com que a estrutura chame a função de retorno de chamada EvtInterruptDisable chamando WdfInterruptDisable. Observe que a maioria dos drivers baseados em estrutura não deve chamar WdfInterruptDisable, pois a estrutura chama a função de retorno de chamada EvtInterruptDis able do driver cada vez que o dispositivo deixa seu estado de trabalho (D0).
Antes de chamar a função de retorno de chamada EvtInterruptDisable, a estrutura eleva o IRQL do processador para o DIRQL do dispositivo e adquire o bloqueio de rotação especificado pelo driver na estrutura de WDF_INTERRUPT_CONFIG do objeto de interrupção.
A partir da versão 1.11 do KMDF, o driver pode fornecer tratamento de interrupção de nível passivo. Se o driver solicitou tratamento de interrupção de nível passivo, antes de chamar a função EvtInterruptDisable no IRQL = PASSIVE_LEVEL, a estrutura adquirirá o bloqueio de interrupção de nível passivo configurado pelo driver na estrutura WDF_INTERRUPT_CONFIG do objeto de interrupção.
Antes de chamar a função EvtInterruptDisable de retorno de chamada, a estrutura chama a função de retorno de chamada de evento do driver EvtDeviceD0ExitPreInterruptsDisabled função de retorno de chamada de evento em IRQL = PASSIVE_LEVEL.
Para obter mais informações sobre como lidar com interrupções em drivers baseados em estrutura, consulte Tratando interrupções de hardware.
Requisitos
| Requisito | Valor |
|---|---|
| da Plataforma de Destino | Universal |
| versão mínima do KMDF | 1.0 |
| versão mínima do UMDF | 2.0 |
| cabeçalho | wdfinterrupt.h (inclua Wdf.h) |
| IRQL | (Consulte a seção Comentários.) |