Partilhar via


Fornecimento de Informação de Contexto ISR

Ao entrar, um ISR recebe um ponteiro para a área de contexto que o driver configurou ao chamar IoConnectInterruptEx para registar a rotina.

A maioria dos drivers define o ponteiro de contexto para o objeto de dispositivo que representa o dispositivo físico que gera interrupções ou para a extensão desse objeto. Na extensão do dispositivo, o driver pode armazenar informações de estado para a rotina ISR e DpcForIsr do driver, sendo esta última rotina responsável por quase todo o processamento de E/S para satisfazer cada solicitação que causou a interrupção no dispositivo.

Normalmente, os drivers usam a extensão do dispositivo para armazenar ponteiros para cada um dos objetos de interrupção do respetivo dispositivo (retornados de chamadas para IoConnectInterruptEx). Os drivers tipicamente armazenam informações na extensão do dispositivo, o que permite a um ISR determinar se uma interrupção foi gerada por um dispositivo que ele suporta.

(Como alternativa, os ponteiros de objetos de interrupção podem ser armazenados no pool não paginado que o driver aloca.)