code de contrôle IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS
Récupère les niveaux de rétro-éclairage pris en charge.
Pour effectuer cette opération, appelez la fonction DeviceIoControl avec les paramètres suivants.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS, // dwIoControlCode
NULL, // lpInBuffer
0, // nInBufferSize
(LPVOID) lpOutBuffer, // output buffer
(DWORD) nOutBufferSize, // size of output buffer
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
Paramètres
-
hDevice
-
Handle de l’appareil \\.\LCD. Pour récupérer un handle d’appareil, appelez la fonction CreateFile .
-
dwIoControlCode
-
Code de contrôle pour l’opération. Cette valeur identifie l’opération spécifique à effectuer et le type d’appareil sur lequel l’effectuer. Utilisez IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS pour cette opération.
-
lpInBuffer
-
Non utilisé avec cette opération ; défini sur NULL.
-
nInBufferSize
-
Non utilisé avec cette opération ; défini sur zéro.
-
lpOutBuffer
-
Pointeur vers une mémoire tampon qui reçoit un tableau des niveaux d’alimentation disponibles. Cette mémoire tampon doit avoir une longueur de 256 octets.
-
nOutBufferSize
-
Taille de la mémoire tampon de sortie en octets.
-
lpBytesReturned
-
Pointeur vers une variable qui reçoit la taille, en octets, des données de sortie retournées.
Si la mémoire tampon de sortie est trop petite pour renvoyer des données, l’appel échoue, GetLastError retourne le code d’erreur ERROR_INSUFFICIENT_BUFFER et le nombre d’octets retourné est égal à zéro.
Si la mémoire tampon de sortie est trop petite pour contenir toutes les données, mais qu’elle peut contenir certaines entrées, le système d’exploitation retourne autant que correspond, l’appel échoue, GetLastError renvoie le code d’erreur ERROR_MORE_DATA et lpBytesReturned indique la quantité de données retournées. Votre application doit appeler à nouveau DeviceIoControl avec la même opération, en spécifiant un nouveau point de départ.
Si lpOverlapped a la valeur NULL (E/S nonoverlapped), lpBytesReturned ne peut pas être NULL.
Si lpOverlapped n’a pas la valeur NULL (E/S superposées), lpBytesReturned peut avoir la valeur NULL. S’il s’agit d’une opération qui se chevauche, vous pouvez récupérer le nombre d’octets retournés en appelant la fonction GetOverlappedResult . Si hDevice est associé à un port d’achèvement des E/S, vous pouvez obtenir le nombre d’octets retournés en appelant la fonction GetQueuedCompletionStatus .
-
lpOverlapped
-
Pointeur vers une structure CHEVAUCHEMENT .
Si hDevice a été ouvert avec l’indicateur FILE_FLAG_OVERLAPPED, lpOverlapped doit pointer vers une structure OVERLAPPED valide. Dans ce cas, l’opération est effectuée en tant qu’opération superposée (asynchrone). Si l’appareil a été ouvert avec l’indicateur FILE_FLAG_OVERLAPPED et que lpOverlapped a la valeur NULL, la fonction échoue de manière imprévisible.
Si hDevice a été ouvert sans spécifier l’indicateur de FILE_FLAG_OVERLAPPED, lpOverlapped est ignoré et DeviceIoControl ne retourne pas tant que l’opération n’est pas terminée ou 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 zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.
Remarques
Chaque élément du tableau lpOutBuffer a une longueur d’un octet. Par conséquent, lors du retour, le paramètre lpBytesReturned indique le nombre de niveaux pris en charge. Chaque niveau est une valeur comprise entre 0 et 100. Plus la valeur est élevée, plus le rétro-éclairage est lumineux. Tous les niveaux sont pris en charge, que la source d’alimentation soit CA ou DC.
Le fichier d’en-tête utilisé pour générer des applications qui incluent cette fonctionnalité, Ntddvdeo.h, est inclus dans le Kit de développement du pilote Microsoft Windows (DDK). Pour plus d’informations sur l’obtention du DDK, consultez https://www.microsoft.com/whdc/devtools/ddk/default.mspx.
Vous pouvez également définir ce code de contrôle comme suit :
#define IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS \
CTL_CODE(FILE_DEVICE_VIDEO, 0x125, METHOD_BUFFERED, FILE_ANY_ACCESS)
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows Vista, Windows XP avec SP1 [applications de bureau uniquement] |
Serveur minimal pris en charge |
Windows Server 2003 [applications de bureau uniquement] |
En-tête |
|