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 |
|