Compartilhar via


estrutura BATTERY_WAIT_STATUS

Contém informações sobre as condições sob as quais a bateria status deve ser recuperada. Essa estrutura é usada pelo código de controle IOCTL_BATTERY_QUERY_STATUS .

Sintaxe

typedef struct _BATTERY_WAIT_STATUS {
  ULONG BatteryTag;
  ULONG Timeout;
  ULONG PowerState;
  ULONG LowCapacity;
  ULONG HighCapacity;
} BATTERY_WAIT_STATUS, *PBATTERY_WAIT_STATUS;

Membros

BatteryTag

A marca da bateria atual para a bateria. Somente informações para uma bateria que corresponda à marca podem ser retornadas. Sempre que esse valor não corresponder à marca atual da bateria, a operação DeviceIoControl falhará com um código de erro de ERROR_FILE_NOT_FOUND, o que indica ao chamador que a bateria para a qual ela tem uma marca não está mais instalada O chamador pode optar por usar a operação IOCTL_BATTERY_QUERY_TAG para determinar a marca da bateria recém-instalada, se houver. Além disso, se a solicitação estiver em andamento quando a bateria for removida ou a marca for alterada, a operação será anulada com o status de ERROR_FILE_NOT_FOUND. (Consulte Marcas de bateria para obter mais informações.)

Tempo Limite

O número de milissegundos que a solicitação aguardará pela condição especificada pelos membros PowerState, LowCapacity e HighCapacity antes de concluir. Um valor de -1 indica que a solicitação aguardará indefinidamente para que as condições sejam atendidas. Um valor zero indica que as informações de bateria solicitadas devem ser retornadas imediatamente, independentemente das outras condições. Qualquer outro valor indica que a solicitação deve aguardar esse período de tempo ou até que qualquer uma das outras condições seja atendida.

Se o computador tiver entrado no modo de suspensão, o relógio continuará a ser executado, mas esgotar a contagem não ativará o computador. Se a contagem for esgotada quando o computador for acordado e outras condições forem atendidas, a chamada retornará imediatamente após o despertar.

PowerState

Zero, um ou mais dos bits status a seguir, que indicam o estado da bateria. Ele é idêntico ao membro do PowerState da estrutura BATTERY_STATUS .

Valor Significado
BATTERY_CHARGING
0x00000004
Indica que a bateria está sendo carregada no momento.
BATTERY_CRITICAL
0x00000008
Indica que a falha da bateria é iminente. Consulte a seção Comentários para obter mais informações.
BATTERY_DISCHARGING
0x00000002
Indica que a bateria está sendo descarregada no momento.
BATTERY_POWER_ON_LINE
0x00000001
Indica que a bateria tem acesso à energia AC.

LowCapacity

A capacidade atual da bateria, em mWh (ou relativa). Esse valor é idêntico ao membro Capacity da estrutura BATTERY_STATUS .

HighCapacity

A capacidade atual da bateria, em mWh (ou relativa). Esse valor é idêntico ao membro Capacity da estrutura BATTERY_STATUS .

Comentários

As solicitações de informações da bateria são adiadas até que ocorra um destes procedimentos:

  • O tempo limite expira (supondo que o tempo limite não seja -1).
  • A status atual da bateria não corresponde ao PowerState.
  • A capacidade da bateria está abaixo de LowCapacity.
  • A capacidade da bateria está acima de HighCapacity.
  • A marca de bateria é alterada.

Quando qualquer uma dessas condições é atendida, os dados são coletados e a operação retorna. Isso permite que os aplicativos monitorem informações típicas de bateria dinâmica sem sondar o dispositivo.

Antes de usar uma das duas condições de capacidade, verifique se a bateria dá suporte a elas usando o código de controle IOCTL_BATTERY_QUERY_STATUS com um tempo limite de zero. Examine os resultados para determinar se o membro capacity tem suporte (ou seja, não BATTERY_UNKNOWN_CAPACITY).

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho
Poclass.h;
Batclass.h no Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP

Confira também

BATTERY_STATUS

IOCTL_BATTERY_QUERY_STATUS

IOCTL_BATTERY_QUERY_TAG