EVT_ACX_FACTORY_CIRCUIT_POWER_DOWN função de retorno de chamada (acxcircuit.h)
O retorno de chamada EVT_ACX_FACTORY_CIRCUIT_POWER_DOWN é usado pelo driver para adicionar funcionalidade no caminho de desligar de um objeto ACXFACTORYCIRCUIT.
Sintaxe
EVT_ACX_FACTORY_CIRCUIT_POWER_DOWN EvtAcxFactoryCircuitPowerDown;
NTSTATUS EvtAcxFactoryCircuitPowerDown(
WDFDEVICE Device,
ACXFACTORYCIRCUIT Factory,
WDF_POWER_DEVICE_STATE TargetState
)
{...}
Parâmetros
Device
Um objeto WDFDEVICE (descrito em Resumo de Objetos framework) associado ao circuito ACX.
Factory
O objeto ACXFACTORYCIRCUIT da fábrica de circuitos existente. Para obter mais informações sobre objetos ACX, consulte Resumo de objetos ACX.
TargetState
Uma enumeração WDF_POWER_DEVICE_STATE que identifica o estado de energia do dispositivo de destino.
Retornar valor
Retorna STATUS_SUCCESS
se a chamada foi bem-sucedida. Caso contrário, ele retornará um código de erro apropriado. Para obter mais informações, consulte Usando valores NTSTATUS.
Comentários
Para registrar uma função de retorno de chamada EvtAcxFactoryCircuitPrepareHardware, um driver deve chamar AcxFactoryCircuitInitSetAcxCircuitPnpPowerCallbacks.
Se o driver tiver registrado uma função de retorno de chamada EvtCircuitPowerDown, a estrutura ACX chamará a função sempre que um dos dispositivos do driver deixar seu estado de trabalho (D0). Um dispositivo deixa o estado D0 quando ocorre um destes procedimentos:
- O sistema e todos os seus dispositivos estão prestes a deixar seus estados de trabalho e entrar em um estado de baixa potência.
- O dispositivo está prestes a entrar em um estado de baixa potência porque ele está ocioso, se o dispositivo oferecer suporte a ociosidade de baixa energia.
- O gerenciador de Plug and Play está tentando redistribuir os recursos de hardware do sistema.
- Um usuário indicou, normalmente por meio da interface do usuário de um aplicativo, que deseja remover o dispositivo.
- A estrutura também chama a função de retorno de chamada EvtFactoryCircuitPowerDown depois que um dispositivo é removido inesperadamente (removido de surpresa).
Para obter mais informações sobre quando a estrutura chama essa função de retorno de chamada, consulte Cenários de gerenciamento de energia e PnP.
A menos que o dispositivo tenha sido removido de surpresa, a estrutura ACX chama essa função de retorno de chamada imediatamente após desabilitar as interrupções do dispositivo, mas antes que a energia do dispositivo seja reduzida de D0 e antes que o WDF invoque o retorno de chamada EvtDeviceD0Exit do driver nos dispositivos associados. O parâmetro TargetState identifica o estado de energia do dispositivo que o dispositivo está prestes a inserir.
A função de retorno de chamada EvtFactoryCircuitPowerDown deve executar todas as operações necessárias antes que o hardware do ACXFACTORYCIRCUT insira o estado de baixa potência especificado, como salvar qualquer informação de que o driver precisará posteriormente para restaurar o hardware do ACXFACTORYCIRCUIT para seu estado de energia D0.
Se TargetState for WdfPowerDeviceD3Final, você deverá assumir que o sistema está sendo desativado, o dispositivo associado está prestes a ser removido ou um rebalanceamento de recursos está em andamento. Se o driver precisar salvar informações, ele deverá gravá-la no disco ou em algum outro meio de armazenamento permanente.
Para obter mais informações sobre drivers que fornecem essa função de retorno de chamada, consulte Suporte a PnP e Gerenciamento de Energia no Driver de Funções.
Requisitos do ACX
Versão mínima do ACX: 1.0
Para obter mais informações sobre as versões do ACX, consulte Visão geral da versão do ACX.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | acxcircuit.h |
IRQL | PASSIVE_LEVEL |