код элемента управления IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS
Задает текущие уровни подсветки ac и DC.
Для выполнения этой операции вызовите функцию DeviceIoControl со следующими параметрами.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS, // dwIoControlCode
(LPVOID) lpInBuffer, // input buffer
(DWORD) nInBufferSize, // size of the input buffer
NULL, // lpOutBuffer
0, // nOutBufferSize
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
Параметры
-
hDevice
-
Дескриптор для устройства \\.\LCD. Чтобы получить дескриптор устройства, вызовите функцию CreateFile .
-
dwIoControlCode
-
Код элемента управления для операции. Это значение определяет конкретную операцию, которую необходимо выполнить, и тип устройства, на котором она выполняется. Используйте IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS для этой операции.
-
lpInBuffer
-
Указатель на структуру DISPLAY_BRIGHTNESS .
-
nInBufferSize
-
Размер буфера, на который указывает lpOutBuffer, в байтах.
-
lpOutBuffer
-
Не используется с этой операцией; для параметра задано значение NULL.
-
nOutBufferSize
-
Не используется с этой операцией; Значение равно нулю.
-
lpBytesReturned
-
Указатель на переменную, которая получает фактическое количество байтов, возвращаемых функцией в выходном буфере.
Если lpOverlapped имеет значение NULL (неперекрывающийся ввод-вывод), lpBytesReturned используется внутри системы и не может иметь значение NULL.
Если значение lpOverlapped не равно NULL (перекрывающееся ввод-вывод), lpBytesReturned может иметь значение NULL.
-
lpOverlapped
-
Указатель на структуру OVERLAPPED .
Если hDevice был открыт с флагом FILE_FLAG_OVERLAPPED, lpOverlapped должен указывать на допустимую структуру OVERLAPPED . В этом случае операция выполняется как перекрываемая (асинхронная) операция. Если устройство было открыто с флагом FILE_FLAG_OVERLAPPED, а lpOverlapped имеет значение NULL, функция завершается сбоем непредсказуемым образом.
Если hDevice был открыт без указания флага FILE_FLAG_OVERLAPPED, lpOverlapped игнорируется и DeviceIoControl не возвращается до завершения операции или до возникновения ошибки.
Возвращаемое значение
Если операция завершается успешно, DeviceIoControl возвращает ненулевое значение.
Если операция завершается сбоем или находится в состоянии ожидания, DeviceIoControl возвращает ноль. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Значения, указанные в элементах ucACBrightness и ucDCBrightness структуры DISPLAY_BRIGHTNESS , должны быть ранее возвращены IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS. Например, если поддерживаются значения 10, 20, 30, 40, 50, 60, 70, 80, 90 и 100, использование значения 33 будет ошибкой.
Файл заголовка, используемый для создания приложений, включающих эту функцию, Ntddvdeo.h, входит в пакет средств разработки драйверов Microsoft Windows (DDK). Сведения о получении DDK см. в разделе https://www.microsoft.com/whdc/devtools/ddk/default.mspx.
Кроме того, можно определить этот код элемента управления следующим образом:
#define IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS \
CTL_CODE(FILE_DEVICE_VIDEO, 0x127, METHOD_BUFFERED, FILE_ANY_ACCESS)
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista, Windows XP с пакетом обновления 1 (SP1) [только классические приложения] |
Минимальная версия сервера |
Windows Server 2003 [только классические приложения] |
Заголовок |
|