struttura BATTERY_WAIT_STATUS

Contiene informazioni sulle condizioni in cui deve essere recuperato lo stato della batteria. Questa struttura viene utilizzata dal codice di controllo IOCTL_BATTERY_QUERY_STATUS .

Sintassi

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

Members

BatteryTag

Tag della batteria corrente. È possibile restituire solo informazioni per una batteria corrispondente al tag. Ogni volta che questo valore non corrisponde al tag corrente della batteria, l'operazione DeviceIoControl avrà esito negativo con un codice di errore di ERROR_FILE_NOT_FOUND, che indica al chiamante che la batteria per cui ha un tag non è più installato Il chiamante può scegliere di usare l'operazione di IOCTL_BATTERY_QUERY_TAG per determinare il tag della batteria appena installata, se presenti. Inoltre, se la richiesta è in corso quando la batteria viene rimossa o il tag cambia, l'operazione viene interrotta con lo stato di ERROR_FILE_NOT_FOUND. Per altre informazioni, vedere Tag batteria .

Timeout

Il numero di millisecondi che la richiesta attenderà la condizione specificata dai membri PowerState, LowCapacity e HighCapacity prima del completamento. Il valore -1 indica che la richiesta attenderà un tempo illimitato affinché le condizioni vengano soddisfatte. Il valore zero indica che le informazioni sulla batteria richieste devono essere restituite immediatamente, indipendentemente dalle altre condizioni. Qualsiasi altro valore indica che la richiesta deve attendere tale periodo di tempo o fino a quando non viene soddisfatta una delle altre condizioni.

Se il computer ha attivato la modalità sospensione, l'orologio continuerà a essere eseguito, ma esaurendo il conteggio non riattiva il computer. Se il conteggio viene esaurito quando il computer viene riattivato e vengono soddisfatte altre condizioni, la chiamata tornerà immediatamente al risveglio.

PowerState

Zero, uno o più dei bit di stato seguenti, che indicano lo stato della batteria. È identico al membro PowerState della struttura BATTERY_STATUS .

Valore Significato
BATTERY_CHARGING
0x00000004
Indica che la batteria è attualmente carica.
BATTERY_CRITICAL
0x00000008
Indica che l'errore della batteria è imminente. Per altre informazioni, vedere la sezione Osservazioni.
BATTERY_DISCHARGING
0x00000002
Indica che la batteria è attualmente scaricata.
BATTERY_POWER_ON_LINE
0x00000001
Indica che la batteria ha accesso all'alimentazione AC.

LowCapacity

Capacità della batteria corrente, in mWh (o relativa). Questo valore è identico al membro Capacity della struttura BATTERY_STATUS .

HighCapacity

Capacità della batteria corrente, in mWh (o relativa). Questo valore è identico al membro Capacity della struttura BATTERY_STATUS .

Commenti

Le richieste di informazioni sulla batteria vengono posticipate fino a quando non si verifica uno dei seguenti:

  • Il timeout scade (presupponendo che timeout non sia -1).
  • Lo stato corrente della batteria non corrisponde a PowerState.
  • La capacità della batteria è inferiore a LowCapacity.
  • La capacità della batteria è superiore a HighCapacity.
  • Il tag della batteria cambia.

Quando una di queste condizioni viene soddisfatta, i dati vengono raccolti e l'operazione viene restituita. Ciò consente alle applicazioni di monitorare le informazioni tipiche della batteria dinamica senza eseguire il polling del dispositivo.

Prima di usare una delle due condizioni di capacità, assicurarsi che la batteria li supporti usando il codice di controllo IOCTL_BATTERY_QUERY_STATUS con un timeout pari a zero. Esaminare i risultati per determinare se il membro Capacity è supportato , ovvero non BATTERY_UNKNOWN_CAPACITY.

Requisiti

Requisito Valore
Client minimo supportato
Windows XP [solo app desktop]
Server minimo supportato
Windows Server 2003 [solo app desktop]
Intestazione
Poclass.h;
Batclass.h in Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP

Vedi anche

BATTERY_STATUS

IOCTL_BATTERY_QUERY_STATUS

IOCTL_BATTERY_QUERY_TAG