_Code de _ contrôle des informations du jeu de batteries IOCTL _
Définit différentes informations sur la batterie. La structure des paramètres d’entrée, les _ _ informations sur le jeu de batteries, indiquent les informations d’état de la batterie à définir.
Pour effectuer cette opération, appelez la fonction DeviceIoControl avec les paramètres suivants.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to battery
IOCTL_BATTERY_SET_INFORMATION, // dwIoControlCode
(LPVOID) lpInBuffer, // input buffer
(DWORD) nInBufferSize, // size of input buffer
NULL, // lpOutBuffer
0, // nOutBufferSize
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
Paramètres
-
hDevice
-
Handle vers la batterie sur laquelle les informations doivent être définies. Pour récupérer un handle d’appareil, appelez la fonction CreateFile .
-
dwIoControlCode
-
Code de contrôle de l’opération. Cette valeur identifie l’opération spécifique à effectuer et le type d’appareil sur lequel l’exécuter. Utilisez les _ _ _ informations du jeu de piles IOCTL pour cette opération.
-
lpInBuffer
-
Pointeur vers une structure d' _ _ informations d’ensemble de batteries .
-
nInBufferSize
-
Taille de la mémoire tampon d’entrée, en octets.
-
lpOutBuffer
-
Non utilisé avec cette opération ; Affectez la valeur null.
-
nOutBufferSize
-
Non utilisé avec cette opération ; défini à zéro.
-
lpBytesReturned
-
Pointeur vers une variable qui reçoit la taille des données retournées dans la mémoire tampon lpOutBuffer , en octets.
Si la mémoire tampon de sortie est trop petite pour retourner des données, l’appel échoue, GetLastError retourne l’erreur de code d’erreur _ mémoire tampon insuffisante _ et le nombre d’octets retournés est égal à zéro.
Si lpOverlapped a la valeur null (e/s nonoverlapped), lpBytesReturned ne peut pas avoir la valeur null, même si lpOutBuffer a la valeur null.
Si lpOverlapped n’a pas la valeur null (e/s avec chevauchement), LpBytesReturned peut avoir la valeur null. S’il s’agit d’une opération avec chevauchement, vous pouvez récupérer le nombre d’octets retournés en appelant la fonction GetOverlappedResult . Si hDevice est associé à un port de terminaison d’e/s, vous pouvez récupérer le nombre d’octets renvoyés en appelant la fonction GetQueuedCompletionStatus .
-
lpOverlapped
-
Pointeur vers une structure OVERLAPPED .
Si hDevice a été ouvert avec l’indicateur de fichier avec _ indicateur de _ chevauchement, lpOverlapped doit pointer vers une structure OVERLAPPED valide. Dans ce cas, DeviceIoControl est exécuté comme une opération Overlapped (asynchrone). Si l’appareil a été ouvert avec l’indicateur de fichier avec _ indicateur _ de chevauchement et que LpOverlapped a la valeur null, la fonction échoue de façon imprévisible.
Si hDevice a été ouvert sans que l’indicateur de fichier n’ait été spécifié _ _ , lpOverlapped est ignoré et la fonction DeviceIoControl ne retourne pas tant que l’opération n’est pas terminée, soit jusqu’à ce qu’une erreur se produise.
Valeur retournée
Si l’opération se termine correctement, DeviceIoControl retourne une valeur différente de zéro.
Si l’opération échoue ou est en attente, DeviceIoControl retourne la valeur zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
toutes les demandes d’informations sur la batterie se terminent avec l’état ERROR_NO_SUCH_DEVICE (ou ERROR_FILE_NOT_FOUND dans Windows 10 version 1809 et antérieure) chaque fois que l’élément BatteryTag de la demande ne correspond pas à celui de la balise de batterie actuelle. Cela garantit que les informations sur la batterie retournée correspondent à celles de la batterie demandée (pour plus d’informations, consultez balises de la batterie).
Notes
Toutes les demandes de définition des informations sur la batterie se terminent avec l’État fichier d’erreur _ _ _ introuvable si la balise de batterie de la demande ne correspond pas à celle de la balise de batterie actuelle.
Pour connaître les implications des e/s avec chevauchement sur cette opération, consultez la section Notes de la rubrique DeviceIoControl .
Spécifications
| Condition requise | Valeur |
|---|---|
| Client minimal pris en charge |
applications de [ bureau Windows XP uniquement] |
| Serveur minimal pris en charge |
applications de bureau Windows Server 2003 [ uniquement] |
| En-tête |
|