Programmation d’un appareil pour une opération d’E/S
Utilisez les instructions générales suivantes pour la conception, l’écriture et l’appel de routines SynchCritSection qui programment un appareil pour les opérations d’E/S :
Une routine SynchCritSection qui programme l’appareil pour les opérations d’E/S doit retourner le contrôle aussi rapidement que possible.
Pour cette raison, la routine SynchCritSection ne doit faire que ce qui est nécessaire pour configurer l’appareil pour les E/S. Par conséquent, le pilote doit effectuer tous les prétraitements IRP, initialiser les informations d’état pour d’autres routines de pilote et acquérir des ressources matérielles avant d’appeler la routine SynchCritSection .
Un pilote de périphérique peut avoir plusieurs routines SynchCritSection pour programmer l’appareil.
Par exemple, le pilote d’un appareil pour lequel la configuration d’une demande de lecture diffère nettement de la configuration de certaines demandes de contrôle de périphérique peut avoir des routines SynchCritSection distinctes pour programmer son appareil pour chaque type de demande.
Chaque routine SynchCritSection doit retourner le contrôle aussi rapidement que possible, car l’exécution d’une routine SynchCritSection empêche l’ISR du pilote de s’exécuter.
Vous ne devez pas écrire une seule routine SynchCritSection à usage général avec une instruction switch ou plusieurs if imbriqués . Puis.. autres instructions pour déterminer les opérations qu’il effectuera ou les informations d’état à mettre à jour. En revanche, vous devez éviter d’écrire de nombreuses routines SynchCritSection qui ne programment qu’un seul registre d’appareils.