배터리 미니클래스 드라이버의 루틴 언로드
배터리 미니클래스 드라이버의 언로드 루틴은 모든 드라이버의 디바이스가 제거되고 미니클래스 드라이버가 할당한 모든 리소스를 해제합니다.
먼저 언로드 루틴을 검사 모든 디바이스가 제거되었는지 확인하고, 그렇지 않은 경우 나머지 각 디바이스에 대해 다음을 수행해야 합니다.
BatteryClassUnload를 호출하여 클래스 드라이버에 미니클래스 드라이버가 디바이스를 언로드하고 있음을 알릴 수 있습니다.
해당 드라이버의 인터페이스를 사용하여 ACPI 드라이버와 같은 하위 드라이버에서 디바이스 알림을 사용하지 않도록 설정합니다.
다음과 같이 IoDeleteDevice를 호출하여 디바이스에 대한 디바이스 개체를 삭제합니다.
IoDeleteDevice (NewBatt->DeviceObject);
모든 미니클래스 드라이버의 디바이스가 언로드되면 언로드 루틴은 미니클래스 드라이버에서 할당한 모든 리소스를 해제해야 합니다.
모든 드라이버의 디바이스가 제거된 후 언제든지 미니클래스 드라이버의 언로드 루틴을 호출할 수 있습니다. PnP Manager는 IRQL = PASSIVE_LEVEL 시스템 스레드의 컨텍스트에서 언로드 루틴을 호출합니다.