код элемента управления IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS

Извлекает поддерживаемые уровни заднего света.

Чтобы выполнить эту операцию, вызовите функцию DeviceIoControl со следующими параметрами.

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
);

Параметры

hDevice

Дескриптор устройства \\.\LCD. Чтобы получить дескриптор устройства, вызовите функцию CreateFile .

dwIoControlCode

Код элемента управления для операции. Это значение определяет конкретную операцию, которую нужно выполнить, и тип устройства, на котором оно выполняется. Используйте IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS для этой операции.

lpInBuffer

Не используется с этой операцией; имеет значение NULL.

nInBufferSize

Не используется с этой операцией; Значение равно нулю.

lpOutBuffer

Указатель на буфер, получающий массив доступных уровней питания. Этот буфер должен иметь длину 256 байт.

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.

Комментарии

Каждый элемент в массиве lpOutBuffer имеет одну длину байта. Таким образом, по возвращении параметр lpBytesReturned указывает количество поддерживаемых уровней. Каждый уровень — это значение от 0 до 100. Чем больше значение, тем ярче задний свет. Все уровни поддерживаются независимо от того, является ли источник питания ac или DC.

Файл заголовка, используемый для создания приложений, включающих эту функцию Ntddvdeo.h, входит в пакет средств разработки драйверов Microsoft Windows (DDK). Сведения о получении DDK см. в разделе https://www.microsoft.com/whdc/devtools/ddk/default.mspx.

Кроме того, можно определить этот код элемента управления следующим образом:

#define IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS \
  CTL_CODE(FILE_DEVICE_VIDEO, 0x125, METHOD_BUFFERED, FILE_ANY_ACCESS)

Требования

Требование Значение
Минимальная версия клиента
Windows Vista, Windows XP с пакетом обновления 1 (SP1) [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
Header
Ntddvdeo.h

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

Интерфейс управления backlight

DeviceIoControl