Compartilhar via


Fornecendo informações de contexto do ISR

Na entrada, um ISR recebe um ponteiro para qualquer área de contexto que o driver configurou quando chamou IoConnectInterruptEx para registrar 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 de dispositivo desse objeto de dispositivo. Na extensão do dispositivo, o driver pode armazenar informações de estado para a rotina ISR e DpcForIsr do driver, a última das quais geralmente faz quase todo o processamento de E/S para atender a cada solicitação que causou a interrupção do dispositivo.

Normalmente, os drivers usam a extensão de dispositivo para armazenar ponteiros para cada um dos objetos de interrupção do dispositivo (retornados de chamadas para IoConnectInterruptEx). Os drivers também normalmente armazenam informações na extensão do dispositivo que permitem que um ISR determine se uma interrupção foi emitida por um dispositivo compatível com o ISR.

(Como alternativa, os ponteiros de objeto de interrupção podem ser armazenados no pool nãopagado alocado pelo driver.)