Fournir des informations de contexte ISR

Lors de l’entrée, un ISR reçoit un pointeur vers la zone de contexte configurée par le pilote lorsqu’il a appelé IoConnectInterruptEx pour inscrire la routine.

La plupart des pilotes définissent le pointeur de contexte sur l’objet de périphérique qui représente le périphérique physique qui génère des interruptions, ou sur l’extension de périphérique de cet objet de périphérique. Dans l’extension de périphérique, le pilote peut stocker des informations d’état pour la routine ISR et DpcForIsr du pilote, qui effectue généralement la quasi-totalité du traitement des E/S pour satisfaire chaque demande qui a provoqué l’interruption de l’appareil.

En règle générale, les pilotes utilisent l’extension de périphérique pour stocker des pointeurs vers chacun des objets d’interruption de l’appareil (retournés à partir d’appels à IoConnectInterruptEx). Les pilotes stockent généralement des informations dans l’extension de périphérique qui permettent à un ISR de déterminer si une interruption a été émise par un appareil pris en charge par l’ISR.

(Vous pouvez également stocker des pointeurs d’objet d’interruption dans un pool sans page que le pilote alloue.)