DriverEntry 返回值

DriverEntry例程返回一个NTSTATUS 值,STATUS_SUCCESS 或适当的错误状态。

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

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

不能初始化的 DriverEntry 例程必须释放已在返回 control 之前设置的任何系统对象、系统资源和注册表资源。 如果驱动程序支持这些请求,则它应重置驱动程序对象中 IRP_MJ_FLUSH_BUFFERS 的驱动程序调度入口点,并将其 IRP_MJ_SHUTDOWNNULL

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

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