Freigeben über


Schreiben einer DriverEntry-Routine

Jeder Treiber muss über eine DriverEntry-Routine verfügen, die treiberweite Datenstrukturen und -ressourcen initialisiert. Der E/A-Manager ruft die DriverEntry-Routine auf, wenn er den Treiber lädt.

In einem Treiber, der Plug & Play (PnP) unterstützt, ist wie alle Treiber die DriverEntry-Routine für die Treiberinitialisierung verantwortlich, während die AddDevice-Routine (und möglicherweise die Dispatchroutine, die eine PnP-IRP_MN_START_DEVICE-Anforderung verarbeitet) für die Geräteinitialisierung verantwortlich ist. Die Treiberinitialisierung umfasst das Exportieren der anderen Einstiegspunkte des Treibers, das Initialisieren bestimmter Vom Treiber verwendeter Objekte und das Einrichten verschiedener Systemressourcen pro Treiber. (Nicht-PnP-Treiber haben erheblich unterschiedliche Anforderungen, wie im Driver Development Kit [DDK] für Microsoft Windows NT 4.0 und früher beschrieben.)

DriverEntry-Routinen werden im Kontext eines Systemthreads unter IRQL = PASSIVE_LEVEL aufgerufen.

Eine DriverEntry-Routine kann ausgelagert werden und sollte sich in einem INIT-Segment befinden, damit sie verworfen wird. Verwenden Sie eine alloc_text Pragma-Direktive, wie in den Beispieltreibern veranschaulicht, die mit dem Windows Driver Kit (WDK) bereitgestellt werden.

Dieser Abschnitt enthält die folgenden Themen:

Erforderliche Zuständigkeiten von DriverEntry

Optionale Zuständigkeiten von DriverEntry

DriverEntry-Rückgabewerte