Поделиться через


код элемента управления 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 [только классические приложения]
Заголовок
Ntddvdeo.h

См. также раздел

Интерфейс управления подсветкой

DeviceIoControl

DISPLAY_BRIGHTNESS

IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS

IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS