DriverEntry 返回值

DriverEntry 例程返回 NTSTATUS 值,STATUS_SUCCESS或相应的错误状态。

DriverEntry 例程应推迟对 IoRegisterDriverReinitialization 的任何调用,直到返回STATUS_SUCCESS之前。 除非将返回STATUS_SUCCESS,否则它不得进行此调用。

如果 DriverEntry 例程返回的 NTSTATUS 值不是成功值或信息值(如 STATUS_SUCCESS),则不加载该 DriverEntry 例程的驱动程序。

初始化失败的 DriverEntry 例程必须释放它已设置的任何系统对象、系统资源和注册表资源,然后才能返回控制权。 它应将驱动程序对象中的调度入口点重置为 IRP_MJ_FLUSH_BUFFERS ,如果驱动程序支持这些请求,则 将其IRP_MJ_SHUTDOWNNULL

如果驱动程序初始化失败, DriverEntry 例程还应在返回控件之前记录错误。 请参阅 日志记录错误

请注意,如果驱动程序的 DriverEntry 例程返回失败状态,则不会调用驱动程序的 Unload 例程。