Compartilhar via


código de controle IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS

[Esse código de controle está disponível para uso nos sistemas operacionais especificados na seção Requisitos. O suporte para esse código de controle foi removido no Windows Server 2008 e no Windows Vista. Em vez disso, use a classe WmiMonitorBrightness .]

Recupera os níveis atuais de luz de fundo ac e DC e o estado de energia atual.

Para executar essa operação, chame a função DeviceIoControl com os parâmetros a seguir.

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

Parâmetros

hDevice

Um identificador para o dispositivo \\.\LCD. Para recuperar um identificador de dispositivo, chame a função CreateFile .

Dwiocontrolcode

O código de controle da operação. Esse valor identifica a operação específica a ser executada e o tipo de dispositivo no qual executá-la. Use IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS para esta operação.

lpInBuffer

Não usado com esta operação; defina como NULL.

nInBufferSize

Não usado com esta operação; definido como zero.

Lpoutbuffer

Um ponteiro para um buffer que receberá uma estrutura DISPLAY_BRIGHTNESS .

nOutBufferSize

O tamanho do buffer de saída em bytes.

Lpbytesreturned

Um ponteiro para uma variável que recebe o tamanho, em bytes, dos dados de saída retornados.

Se o buffer de saída for muito pequeno para retornar dados, a chamada falhará, GetLastError retornará o código de erro ERROR_INSUFFICIENT_BUFFER e a contagem de bytes retornada será zero.

Se o buffer de saída for muito pequeno para conter todos os dados, mas puder conter algumas entradas, o sistema operacional retornará o máximo que se ajustar, a chamada falhará, GetLastError retornará o código de erro ERROR_MORE_DATA e lpBytesReturned indicará a quantidade de dados retornados. Seu aplicativo deve chamar DeviceIoControl novamente com a mesma operação, especificando um novo ponto de partida.

Se lpOverlapped for NULL (E/S não sobreposta), lpBytesReturned não poderá ser NULL.

Se lpOverlapped não for NULL (E/S sobreposta), lpBytesReturned poderá ser NULL. Se essa for uma operação sobreposta, você poderá recuperar o número de bytes retornados chamando a função GetOverlappedResult . Se hDevice estiver associado a uma porta de conclusão de E/S, você poderá obter o número de bytes retornados chamando a função GetQueuedCompletionStatus .

Lpoverlapped

Um ponteiro para uma estrutura OVERLAPPED .

Se hDevice tiver sido aberto com o sinalizador FILE_FLAG_OVERLAPPED, lpOverlapped deverá apontar para uma estrutura OVERLAPPED válida. Nesse caso, a operação é executada como uma operação sobreposta (assíncrona). Se o dispositivo tiver sido aberto com o sinalizador FILE_FLAG_OVERLAPPED e lpOverlapped for NULL, a função falhará de maneiras imprevisíveis.

Se hDevice tiver sido aberto sem especificar o sinalizador FILE_FLAG_OVERLAPPED, lpOverlapped será ignorado e DeviceIoControl não retornará até que a operação seja concluída ou até que ocorra um erro.

Valor retornado

Se a operação for concluída com êxito, DeviceIoControl retornará um valor diferente de zero.

Se a operação falhar ou estiver pendente, DeviceIoControl retornará zero. Para obter informações de erro estendidas, chame GetLastError.

Comentários

O arquivo de cabeçalho usado para criar aplicativos que incluem essa funcionalidade, Ntddvdeo.h, está incluído no DDK (Microsoft Windows Driver Development Kit). Para obter informações sobre como obter o DDK, consulte https://www.microsoft.com/whdc/devtools/ddk/default.mspx.

Como alternativa, você pode definir esse código de controle da seguinte maneira:

#define IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS \
  CTL_CODE(FILE_DEVICE_VIDEO, 0x126, METHOD_BUFFERED, FILE_ANY_ACCESS)

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows XP com SP1 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2003 [somente aplicativos da área de trabalho]
Fim do suporte ao cliente
Windows XP com SP2
Fim do suporte ao servidor
Windows Server 2003 R2
Cabeçalho
Ntddvdeo.h

Confira também

Interface de controle de luz de fundo

Deviceiocontrol

DISPLAY_BRIGHTNESS

IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS