Код элемента управления IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS
[Этот управляющий код доступен для использования в операционных системах, указанных в разделе Требования. Поддержка этого кода элемента управления была удалена в Windows Server 2008 и Windows Vista. Вместо этого используйте класс WmiMonitorBrightness .]
Извлекает текущие уровни подсветки переменного и постоянного тока, а также текущее состояние питания.
Для выполнения этой операции вызовите функцию DeviceIoControl со следующими параметрами.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
IOCTL_VIDEO_QUERY_DISPLAY_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
);
Параметры
-
hDevice
-
Дескриптор для устройства \\.\LCD. Чтобы получить дескриптор устройства, вызовите функцию CreateFile .
-
dwIoControlCode
-
Код элемента управления для операции. Это значение определяет конкретную операцию, которую необходимо выполнить, и тип устройства, на котором она выполняется. Используйте IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS для этой операции.
-
lpInBuffer
-
Не используется с этой операцией; для параметра задано значение NULL.
-
nInBufferSize
-
Не используется с этой операцией; Значение равно нулю.
-
lpOutBuffer
-
Указатель на буфер, который получит структуру DISPLAY_BRIGHTNESS .
-
nOutBufferSize
-
Размер выходного буфера в байтах.
-
lpBytesReturned
-
Указатель на переменную, которая получает размер возвращаемых выходных данных в байтах.
Если выходной буфер слишком мал для возврата каких-либо данных, вызов завершается ошибкой, GetLastError возвращает код ошибки ERROR_INSUFFICIENT_BUFFER, а возвращенное число байтов равно нулю.
Если выходной буфер слишком мал для хранения всех данных, но может содержать некоторые записи, то операционная система возвращает столько, сколько подходит, вызов завершается сбоем, GetLastError возвращает код ошибки ERROR_MORE_DATA, а lpBytesReturned указывает объем возвращаемых данных. Приложение должно снова вызвать DeviceIoControl с той же операцией, указав новую начальную точку.
Если lpOverlapped имеет значение NULL (неперекрывающийся ввод-вывод), lpBytesReturned не может иметь значение NULL.
Если значение lpOverlapped не равно NULL (перекрывающееся ввод-вывод), lpBytesReturned может иметь значение NULL. Если это перекрываемая операция, можно получить количество возвращаемых байтов, вызвав функцию GetOverlappedResult . Если hDevice связан с портом завершения ввода-вывода, вы можете получить количество возвращаемых байтов, вызвав функцию GetQueuedCompletionStatus .
-
lpOverlapped
-
Указатель на структуру OVERLAPPED .
Если hDevice был открыт с флагом FILE_FLAG_OVERLAPPED, lpOverlapped должен указывать на допустимую структуру OVERLAPPED . В этом случае операция выполняется как перекрываемая (асинхронная) операция. Если устройство было открыто с флагом FILE_FLAG_OVERLAPPED, а lpOverlapped имеет значение NULL, функция завершается сбоем непредсказуемым образом.
Если hDevice был открыт без указания флага FILE_FLAG_OVERLAPPED, lpOverlapped игнорируется и DeviceIoControl не возвращается до завершения операции или до возникновения ошибки.
Возвращаемое значение
Если операция завершается успешно, DeviceIoControl возвращает ненулевое значение.
Если операция завершается сбоем или находится в состоянии ожидания, DeviceIoControl возвращает ноль. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Файл заголовка, используемый для создания приложений, включающих эту функцию, Ntddvdeo.h, входит в пакет средств разработки драйверов Microsoft Windows (DDK). Сведения о получении DDK см. в разделе https://www.microsoft.com/whdc/devtools/ddk/default.mspx.
Кроме того, можно определить этот код элемента управления следующим образом:
#define IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS \
CTL_CODE(FILE_DEVICE_VIDEO, 0x126, METHOD_BUFFERED, FILE_ANY_ACCESS)
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows XP с пакетом обновления 1 (SP1) [только классические приложения] |
Минимальная версия сервера |
Windows Server 2003 [только классические приложения] |
Окончание поддержки клиентов |
Windows XP с пакетом обновления 2 (SP2) |
Окончание поддержки сервера |
Windows Server 2003 R2 |
Заголовок |
|