struktur BATTERY_WAIT_STATUS
Berisi informasi tentang kondisi di mana status baterai akan diambil. Struktur ini digunakan oleh kode kontrol IOCTL_BATTERY_QUERY_STATUS .
Sintaks
typedef struct _BATTERY_WAIT_STATUS {
ULONG BatteryTag;
ULONG Timeout;
ULONG PowerState;
ULONG LowCapacity;
ULONG HighCapacity;
} BATTERY_WAIT_STATUS, *PBATTERY_WAIT_STATUS;
Anggota
-
BatteryTag
-
Tag baterai saat ini untuk baterai. Hanya informasi untuk baterai yang cocok dengan tag yang dapat dikembalikan. Setiap kali nilai ini tidak cocok dengan tag baterai saat ini, operasi DeviceIoControl akan gagal dengan kode kesalahan ERROR_FILE_NOT_FOUND, yang menunjukkan kepada pemanggil bahwa baterai yang memiliki tag tidak lagi diinstal Pemanggil dapat memilih untuk menggunakan operasi IOCTL_BATTERY_QUERY_TAG untuk menentukan tag baterai yang baru diinstal, jika ada. Selain itu, jika permintaan sedang berlangsung saat baterai dilepas, atau tag berubah, operasi dibatalkan dengan status ERROR_FILE_NOT_FOUND. (Lihat Tag Baterai untuk informasi selengkapnya.)
-
Timeout
-
Jumlah milidetik permintaan akan menunggu kondisi yang ditentukan oleh anggota PowerState, LowCapacity, dan HighCapacity sebelum selesai. Nilai -1 menunjukkan bahwa permintaan akan menunggu tanpa batas waktu agar kondisi terpenuhi. Nilai nol menunjukkan bahwa informasi baterai yang diminta akan segera dikembalikan, terlepas dari kondisi lainnya. Nilai lain menunjukkan bahwa permintaan harus menunggu lama waktu tersebut, atau sampai salah satu kondisi lain terpenuhi.
Jika komputer telah memasuki mode tidur, jam akan terus berjalan, tetapi menghabiskan hitungan tidak akan membangunkan komputer. Jika jumlah habis ketika komputer sudah sadar, dan kondisi lain terpenuhi, panggilan akan segera kembali saat terbangun.
-
PowerState
-
Nol, satu, atau beberapa bit status berikut, yang menunjukkan status baterai. Ini identik dengan anggota PowerState dari struktur BATTERY_STATUS .
Nilai Makna - BATTERY_CHARGING
- 0x00000004
Menunjukkan bahwa baterai sedang diisi dayanya. - BATTERY_CRITICAL
- 0x00000008
Menunjukkan bahwa kegagalan baterai akan segera terjadi. Lihat bagian Keterangan untuk informasi selengkapnya. - BATTERY_DISCHARGING
- 0x00000002
Menunjukkan bahwa baterai saat ini sedang dibuang. - BATTERY_POWER_ON_LINE
- 0x00000001
Menunjukkan bahwa baterai memiliki akses ke daya AC. -
LowCapacity
-
Kapasitas baterai saat ini, dalam mWh (atau relatif). Nilai ini identik dengan anggota Kapasitas dari struktur BATTERY_STATUS .
-
HighCapacity
-
Kapasitas baterai saat ini, dalam mWh (atau relatif). Nilai ini identik dengan anggota Kapasitas dari struktur BATTERY_STATUS .
Keterangan
Permintaan informasi baterai ditunda hingga salah satu hal berikut ini terjadi:
- Waktu habis kedaluwarsa (dengan asumsi Waktu Habis bukan -1).
- Status baterai saat ini tidak cocok dengan PowerState.
- Kapasitas baterai di bawah LowCapacity.
- Kapasitas baterai berada di atas HighCapacity.
- Tag baterai berubah.
Ketika salah satu kondisi ini terpenuhi, data dikumpulkan dan operasi kembali. Ini memungkinkan aplikasi untuk memantau informasi baterai dinamis yang khas tanpa polling perangkat.
Sebelum menggunakan salah satu dari dua kondisi Kapasitas, pastikan baterai mendukungnya dengan menggunakan kode kontrol IOCTL_BATTERY_QUERY_STATUS dengan waktu habis nol. Periksa hasilnya untuk menentukan apakah anggota Kapasitas didukung (yaitu, tidak BATTERY_UNKNOWN_CAPACITY).
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung |
Windows Server 2003 [hanya aplikasi desktop] |
Header |
|