Подпрограмма выгрузки драйвера миникласса батареи
Подпрограмма Unload для драйвера мини-класса батареи гарантирует, что все устройства драйвера были удалены, и освобождает все ресурсы, выделенные драйвером мини-класса.
Подпрограмма Unload должна сначала проверка, чтобы убедиться, что все ее устройства удалены, и в противном случае выполните следующие действия для каждого оставшегося устройства:
Вызовите BatteryClassUnload , чтобы сообщить драйверу класса о том, что драйвер миникласса выгружается устройство.
Отключите все уведомления устройства от более низких драйверов, таких как драйвер ACPI, с помощью интерфейса этого драйвера.
Удалите объект устройства, вызвав IoDeleteDevice следующим образом:
IoDeleteDevice (NewBatt->DeviceObject);
После выгрузки всех устройств драйвера мини-класса подпрограмма Unload должна освободить все ресурсы, выделенные драйвером мини-класса.
Подпрограмму выгрузки драйвера мини-класса можно вызвать в любое время после удаления всех устройств драйвера. Диспетчер PnP вызывает подпрограмму Unload в контексте системного потока в IRQL = PASSIVE_LEVEL.