バッテリ ミニクラス ドライバーの Unload ルーチン
バッテリ ミニクラス ドライバーの アンロードルーチンは、すべてのドライバーのデバイスが削除され、ミニクラス ドライバーが割り当てたリソースを解放します。
アンロードルーチンは、最初にすべてのデバイスが取り外されていることを確認し、取り外されていない場合は、残りのデバイスごとに次の操作を行います。
BatteryClassUnload を呼び出して、ミニクラス ドライバーがデバイスをアンロードしていることをクラス ドライバーに通知します。
ACPI ドライバーなどの下位ドライバーからのデバイス通知は、そのドライバーのインターフェイスを使用して無効にします。
次のように、IoDeleteDeviceを呼び出して、デバイスのデバイス オブジェクトを削除します:
IoDeleteDevice (NewBatt->DeviceObject);
すべてのミニクラス ドライバーのデバイスがアンロードされた後、アンロードルーチンは、ミニクラス ドライバーによって割り当てられたリソースを解放する必要があります。
ミニクラス ドライバーの アンロード ルーチンは、すべてのドライバーのデバイスが削除された後、いつでも呼び出すことができます。 PnP マネージャーは、IRQL = PASSIVE_LEVEL のシステム スレッドのコンテキストで アンロードルーチンを呼び出します。