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.
Die erforderlichen, geordneten Verantwortlichkeiten einer DriverEntry-Routine sind wie folgt:
Stellen Sie Einstiegspunkte für die Standardroutinen des Fahrers zur Verfügung.
Der Treiber speichert Einstiegspunkte für viele seiner Standardroutinen im Treiberobjekt oder der Treibererweiterung. Zu diesen Einstiegspunkten gehören diejenigen für die AddDevice-Routine des Fahrers, Verteilerroutinen, StartIo-Routine und Unload-Routine . Beispielsweise würde ein Treiber die Einstiegspunkte für seine AddDevice-, DispatchPnP- und DispatchPower-Routinen mit Anweisungen wie der folgenden festlegen (Xxx ist ein Platzhalter für ein vom Anbieter bereitgestelltes Präfix, das den Treiber identifiziert):
: DriverObject->DriverExtension->AddDevice = XxxAddDevice; DriverObject->MajorFunction[IRP_MJ_PNP] = XxxDispatchPnp; DriverObject->MajorFunction[IRP_MJ_POWER] = XxxDispatchPower; :Zusätzliche Standardroutinen, z. B. ISRs oder IoCompletion-Routinen , werden durch Aufrufen von Systemunterstützungsroutinen angegeben. Weitere Informationen finden Sie in den Beschreibungen einzelner Standardtreiberroutinen.
Erstellen und/oder initialisieren Sie verschiedene treiberweite Objekte, Typen oder Ressourcen, die der Treiber verwendet. Beachten Sie, dass die meisten Standardroutinen Objekte pro Gerät verwenden, sodass Treiber solche Objekte in ihren AddDevice-Routinen oder nach erhalt einer IRP_MN_START_DEVICE Anforderung einrichten sollten.
Wenn der Treiber über einen gerätededizierten Thread verfügt oder auf kerneldefinierte Verteilerobjekte wartet, initialisiert die DriverEntry-Routine möglicherweise Kernelverteilerobjekte. (Je nachdem, wie der Treiber die Objekte verwendet, kann diese Aufgabe stattdessen in der AddDevice-Routine oder nach dem Empfang einer IRP_MN_START_DEVICE Anforderung ausgeführt werden.)
Geben Sie den zugeordneten Speicher frei, der nicht mehr benötigt wird.
Gibt NTSTATUS zurück, der angibt, ob der Treiber erfolgreich geladen wurde und Anforderungen vom PnP-Manager akzeptieren und verarbeiten kann, um seine Geräte zu konfigurieren, hinzuzufügen und zu starten. (Siehe DriverEntry-Rückgabewerte.)