Método IPowerPolicyCallbackWakeFromS0::OnArmWakeFromS0 (wudfddi.h)

[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum novo recurso está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Drivers universais do Windows devem usar UMDF 2. Para obter mais informações, consulte Introdução com UMDF.]

Os braços da função de retorno de chamada OnArmWakeFromS0 de um driver (ou seja, habilita) um dispositivo para que ele possa disparar um sinal de ativação enquanto estiver em um estado de dispositivo de baixa potência, se o sistema permanecer no estado de trabalho do sistema (S0).

Sintaxe

HRESULT OnArmWakeFromS0(
  [in] IWDFDevice *pWdfDevice
);

Parâmetros

[in] pWdfDevice

Um ponteiro para a interface IWDFDevice do objeto de dispositivo que representa um dos dispositivos do driver.

Retornar valor

Se a operação for bem-sucedida, a função de retorno de chamada OnArmWakeFromS0 deverá retornar S_OK ou outro valor status para o qual SUCCEEDED(status) é igual a TRUE. Caso contrário, ele deverá retornar um valor status para o qual SUCCEEDED(status) é igual a FALSE.

Se SUCCEEDED(status) for igual a FALSE, a estrutura chamará a função de retorno de chamada IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0 do driver. (A estrutura não relata uma falha de dispositivo para o gerenciador PnP.)

Comentários

O driver deverá fornecer uma função de retorno de chamada OnArmWakeFromS0 se o driver der suporte à interface IPowerPolicyCallbackWakeFromS0 .

A função de retorno de chamada OnArmWakeFromS0 manipula operações específicas do dispositivo necessárias para permitir que o dispositivo detecte um evento externo que dispara um sinal de ativação no barramento. O driver de barramento no modo kernel lida com operações específicas do barramento, como habilitar o sinal PME (Evento de Gerenciamento de Energia) do barramento PCI.

Se o driver tiver registrado uma função de retorno de chamada OnArmWakeFromS0 , a estrutura a chamará enquanto o dispositivo ainda estiver no estado de energia do dispositivo D0, antes que o driver de barramento reduza o estado de energia do dispositivo, mas depois que a estrutura enviar um IRP de espera/ativação em nome do driver.

O processo ocorre na seguinte sequência:

  1. A estrutura determina que o dispositivo ficou ocioso por um período predefinido de tempo.
  2. A estrutura chama a função de retorno de chamada OnArmWakeFromS0 do driver.
  3. A estrutura solicita que o driver do barramento do dispositivo reduza a potência do dispositivo.
Imediatamente antes de seu dispositivo entrar em um estado de baixa potência, a estrutura chamará a função de retorno de chamada IPnpCallback::OnD0Exit do driver.

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 no UMDF.

Você não precisa fornecer uma função de retorno de chamada OnArmWakeFromS0 se o dispositivo:

  • É um dispositivo USB que dá suporte à "suspensão seletiva".
  • Não pode ser desligado enquanto o sistema permanece totalmente ligado.
  • Não requer operações especiais de hardware que permitem que o dispositivo dispare um sinal de ativação.
Se o dispositivo der suporte a "suspensão seletiva" usb e se o driver especificar IdleUsbSelectiveSuspend quando chamar IWDFDevice2::AssignS0IdleSettings, a estrutura enviará uma solicitação de "suspensão seletiva" ao driver de barramento USB quando o dispositivo estiver ocioso por um período predefinido de tempo.

Para obter mais informações sobre essa função de retorno de chamada, consulte Suporte a Power-Down ociosas em drivers baseados em UMDF.

Requisitos

Requisito Valor
Fim do suporte Indisponível no UMDF 2.0 e posterior.
Plataforma de Destino Área de Trabalho
Versão mínima do UMDF 1,9
Cabeçalho wudfddi.h (include Wudfddi.h)

Confira também

IPowerPolicyCallbackWakeFromS0

IPowerPolicyCallbackWakeFromS0::OnDisarmWakeFromS0

IPowerPolicyCallbackWakeFromS0::OnWakeFromS0Triggered