_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
Poclass. h ;
Batclass. h sur Windows server 2008 R2, Windows 7, Windows server 2008, Windows Vista, Windows server 2003 et Windows XP

Voir aussi

Informations sur la batterie

Codes de contrôle de gestion de l’alimentation

DeviceIoControl

_informations sur le jeu de batteries _

_ _ informations sur les requêtes de batterie IOCTL _

État de la _ requête de batterie IOCTL _ _

_ _ balise de requête de batterie IOCTL _