Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A figura a seguir mostra a ordem em que a estrutura chama as funções de retorno de chamada de evento de um driver de barramento KMDF ao desligar e remover um dispositivo conectado ao barramento. A sequência começa no topo da figura com um dispositivo operacional que está no estado de potência de trabalho (D0):
A estrutura não exclui o PDO até que o dispositivo seja fisicamente removido do sistema. Por exemplo, se um utilizador desativar o dispositivo no Gestor de Dispositivos ou o parar no utilitário Remover Hardware com Segurança, mas não remover fisicamente o dispositivo, a framework reterá o PDO. Se o dispositivo for reativado posteriormente, a estrutura usará o mesmo PDO e iniciará a sequência de inicialização chamando o retorno de chamada EvtDevicePrepareHardware , conforme mostrado em Power-Up Sequence for a Physical Device Object.
Nota: Normalmente, a estrutura de software chama a função callback EvtDeviceReleaseHardware de um driver de barramento depois de ter chamado a função EvtDeviceReleaseHardware para todos os dispositivos filho enumerados pelo driver. No caso de o pai encontrar uma falha de ativação ou desligamento do dispositivo, a estrutura pode chamar EvtDeviceReleaseHardware do driver antes de chamar as funções EvtDeviceReleaseHardware para todos os dispositivos filho. Considere chamar WdfDeviceInitSetReleaseHardwareOrderOnFailure para garantir que a estrutura chame o retorno de chamada EvtDeviceReleaseHardware do driver de barramento somente depois que todos os dispositivos filho tiverem sido removidos.