Compartilhar via


Descarregar rotina de um driver de miniclasse de bateria

A rotina Unload para um driver de miniclasse de bateria garante que todos os dispositivos do driver tenham sido removidos e libere todos os recursos alocados pelo driver de miniclasse.

A rotina Unload deve primeiro marcar para garantir que todos os seus dispositivos tenham sido removidos e, caso contrário, faça o seguinte para cada dispositivo restante:

  1. Chame BatteryClassUnload para informar ao driver de classe que o driver de miniclasse está descarregando o dispositivo.

  2. Desabilite as notificações de dispositivo de drivers inferiores, como o driver ACPI, usando a interface desse driver.

  3. Exclua o objeto de dispositivo para o dispositivo chamando IoDeleteDevice, da seguinte maneira:

        IoDeleteDevice (NewBatt->DeviceObject);
    

Depois que todos os dispositivos do driver de miniclasse forem descarregados, a rotina Unload deverá liberar todos os recursos alocados pelo driver de miniclasse.

A rotina Unload do driver de miniclasse pode ser chamada a qualquer momento depois que todos os dispositivos do driver tiverem sido removidos. O Gerenciador de PnP chama a rotina Unload no contexto de um thread do sistema em IRQL = PASSIVE_LEVEL.