次の方法で共有


バッテリ ミニクラス ドライバーの Unload ルーチン

バッテリ ミニクラス ドライバーの アンロードルーチンは、すべてのドライバーのデバイスが削除され、ミニクラス ドライバーが割り当てたリソースを解放します。

アンロードルーチンは、最初にすべてのデバイスが取り外されていることを確認し、取り外されていない場合は、残りのデバイスごとに次の操作を行います。

  1. BatteryClassUnload を呼び出して、ミニクラス ドライバーがデバイスをアンロードしていることをクラス ドライバーに通知します。

  2. ACPI ドライバーなどの下位ドライバーからのデバイス通知は、そのドライバーのインターフェイスを使用して無効にします。

  3. 次のように、IoDeleteDeviceを呼び出して、デバイスのデバイス オブジェクトを削除します:

        IoDeleteDevice (NewBatt->DeviceObject);
    

すべてのミニクラス ドライバーのデバイスがアンロードされた後、アンロードルーチンは、ミニクラス ドライバーによって割り当てられたリソースを解放する必要があります。

ミニクラス ドライバーの アンロード ルーチンは、すべてのドライバーのデバイスが削除された後、いつでも呼び出すことができます。 PnP マネージャーは、IRQL = PASSIVE_LEVEL のシステム スレッドのコンテキストで アンロードルーチンを呼び出します。