Поделиться через


Возвращаемые значения DriverEntry

Подпрограмма DriverEntry возвращает значение NTSTATUS, STATUS_SUCCESS или соответствующее состояние ошибки.

Подпрограмма DriverEntry должна отложить любой вызов IoRegisterDriverReinitialization до тех пор, пока не вернет STATUS_SUCCESS. Он не должен выполнять этот вызов, если он не вернет STATUS_SUCCESS.

Если подпрограмма DriverEntry возвращает значение NTSTATUS, которое не является успешным или информационным значением, например STATUS_SUCCESS, драйвер для этой подпрограммы DriverEntry не загружается.

Подпрограмма DriverEntry , которая завершится сбоем инициализации, должна освободить все системные объекты, системные ресурсы и ресурсы реестра, которые она уже настроила, прежде чем вернуть управление. Он должен сбросить точки входа диспетчеризации драйвера в объекте драйвера для IRP_MJ_FLUSH_BUFFERS и IRP_MJ_SHUTDOWN значение NULL , если драйвер поддерживает эти запросы.

Если драйверу не удается инициалировать, подпрограмма DriverEntry также должна регистрировать ошибку перед возвратом управления. См. статью Ведение журнала ошибок.

Обратите внимание, что подпрограмма выгрузки драйвера не вызывается, если подпрограмма DriverEntry драйвера возвращает состояние сбоя.