Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie die folgenden allgemeinen Richtlinien zum Entwerfen, Schreiben und Aufrufen von SynchCritSection-Routinen , die ein Gerät für E/A-Vorgänge programmieren:
Eine SynchCritSection-Routine , die das Gerät für E/A-Vorgänge programmiert, muss die Steuerung so schnell wie möglich zurückgeben.
Aus diesem Grund sollte die SynchCritSection-Routine nur das tun, was zum Einrichten des Geräts für E/A erforderlich ist. Daher sollte der Treiber alle IRP-Vorverarbeitung ausführen, Zustandsinformationen für andere Treiberroutinen initialisieren und Hardwareressourcen erwerben, bevor er die SynchCritSection-Routine aufruft .
Ein Gerätetreiber kann über mehrere SynchCritSection-Routinen verfügen, um das Gerät zu programmieren.
Beispielsweise kann der Treiber eines Geräts, für das sich das Einrichten einer Leseanforderung deutlich vom Einrichten bestimmter Gerätesteuerungsanforderungen unterscheidet, über separate SynchCritSection-Routinen verfügen, um sein Gerät für jeden Anforderungstyp zu programmieren.
Jede SynchCritSection-Routine muss die Steuerung so schnell wie möglich zurückgeben, da das Ausführen einer SynchCritSection-Routine verhindert, dass der ISR des Treibers ausgeführt wird.
Sie sollten keine einzelne große , universelle SynchCritSection-Routine mit einer switch-Anweisung oder vielen geschachtelten if. schreiben. Dann.. else-Anweisungen , um zu bestimmen, welche Vorgänge ausgeführt werden oder welche Zustandsinformationen aktualisiert werden sollen. Andererseits sollten Sie das Schreiben zahlreicher SynchCritSection-Routinen vermeiden, die nur ein einzelnes Geräteregister programmieren.