Freigeben über


DriverEntry-Rückgabewerte

Eine DriverEntry-Routine gibt einen NTSTATUS-Wert zurück, entweder STATUS_SUCCESS oder einen entsprechenden Fehler status.

Die DriverEntry-Routine sollte jeden Aufruf von IoRegisterDriverReinitialization bis kurz vor der Rückgabe STATUS_SUCCESS verschieben. Dieser Aufruf darf nur dann ausgeführt werden, wenn STATUS_SUCCESS zurückgegeben wird.

Wenn eine DriverEntry-Routine einen NTSTATUS-Wert zurückgibt, der kein Erfolgs- oder Informationswert ist, z. B. STATUS_SUCCESS, wird der Treiber für diese DriverEntry-Routine nicht geladen.

Eine DriverEntry-Routine , die bei der Initialisierung fehlschlägt, muss alle Systemobjekte, Systemressourcen und Registrierungsressourcen freigeben, die sie bereits eingerichtet hat, bevor sie die Steuerung zurückgibt. Es sollte die Dispatcheinstiegspunkte des Treibers im Treiberobjekt für IRP_MJ_FLUSH_BUFFERS und IRP_MJ_SHUTDOWN auf NULL zurücksetzen, wenn der Treiber diese Anforderungen unterstützt.

Wenn die Initialisierung eines Treibers fehlschlägt, sollte auch die DriverEntry-Routine einen Fehler protokollieren, bevor die Steuerung zurückgegeben wird. Weitere Informationen finden Sie unter Protokollierungsfehler.

Beachten Sie, dass die Entladeroutine eines Treibers nicht aufgerufen wird, wenn die DriverEntry-Routine eines Treibers einen Fehler status zurückgibt.