Такая проблема: Есть Legacy драйвер. Работает нормально и т.п. Но, когда выключаю/перезагружаю компутер система выгружает все программы, оставляет только заставку рабочего стола и долго-долго ждет. Потом она-таки выгрузится, но слишком долгое ожидание получается. В драйвере реализован Unload: - делает обратное от DriverEntry; - освобождает используемую драйвером память (связанный список строк); Что-то еще нужно? Может обработчик MJ_SHUTDOWN, рабочая процедура SHUTDOWN или что-то другое?
http://www.osronline.com/ddkx/kmarch/drvcomps_1bfr.htm : "Note that the Unload routine is not called if a driver's DriverEntry routine returns a failure status. In this case, the I/O manager simply frees the memory space taken up by the driver. Neither the PnP Manager nor the I/O Manager calls Unload routines at system shutdown time. A driver that must perform shutdown processing should register a DispatchShutdown routine."