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