Freigeben über


Schreiben einer StartIo-Routine

Wie der Name schon sagt, ist eine StartIo-Routine für das Starten eines E/A-Vorgangs auf dem physischen Gerät verantwortlich.

Die meisten Treiber der niedrigsten Ebene bieten eine StartIo-Routine und verlassen sich auf den E/A-Manager, um IRPs in eine vom System bereitgestellte Gerätewarteschlange in die Warteschlange zu stellen. Einige Treiber der niedrigsten Ebene sind für das Einrichten und Verwalten eigener zusätzlicher IRP-Warteschlangen konzipiert, aber auch diese bieten in der Regel eine StartIo-Routine . (Weitere Informationen zu zusätzlichen Warteschlangen finden Sie unter Einrichten und Verwenden von Gerätewarteschlangen und Verwalten von Gerätewarteschlangen.)

Übergeordnete Treiber, einschließlich FSDs und PnP-Funktions- und Filtertreibern, verfügen nur selten über eine StartIo-Routine , da sie die Leistung beeinträchtigen kann. Stattdessen richten die meisten Dateisystemtreiber interne Warteschlangen von IRPs ein und verwalten sie. Andere übergeordnete Treiber verfügen entweder über interne Warteschlangen für IRPs oder übergeben IRPs einfach an niedrigere Treiber aus ihren Dispatchroutinen. Weitere Informationen finden Sie unter Vom Treiber verwaltete IRP-Warteschlangen .

Sie können die IoSetStartIoAttributes-Routine verwenden, um Attribute festzulegen, die die StartIo-Behandlung für Ihren Treiber ändern.

Dieser Abschnitt enthält die folgenden Themen:

StartIo-Routinen in Lowest-Level-Treibern

StartIo-Routinen in Higher-Level-Treibern

Zu berücksichtigende Punkte für StartIo-Routinen