IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS código de control
[Este código de control está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. La compatibilidad con este código de control se quitó en Windows Server 2008 y Windows Vista. En su lugar, use la clase WmiMonitorBrightness .]
Recupera los niveles de retroiluminación de CA y DC actuales y el estado de alimentación actual.
Para realizar esta operación, llame a la función DeviceIoControl con los parámetros siguientes.
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
-
Identificador del dispositivo \\.\LCD. Para recuperar un identificador de dispositivo, llame a la función CreateFile .
-
dwIoControlCode
-
Código de control para la operación. Este valor identifica la operación específica que se va a realizar y el tipo de dispositivo en el que se va a realizar. Use IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS para esta operación.
-
lpInBuffer
-
No se utiliza con esta operación; se establece en NULL.
-
nInBufferSize
-
No se utiliza con esta operación; se establece en cero.
-
lpOutBuffer
-
Puntero a un búfer que recibirá una estructura DISPLAY_BRIGHTNESS .
-
nOutBufferSize
-
Tamaño del búfer de salida, en bytes.
-
lpBytesReturned
-
Puntero a una variable que recibe el tamaño, en bytes, de los datos de salida devueltos.
Si el búfer de salida es demasiado pequeño para devolver datos, se produce un error en la llamada, GetLastError devuelve el código de error ERROR_INSUFFICIENT_BUFFER y el recuento de bytes devuelto es cero.
Si el búfer de salida es demasiado pequeño para contener todos los datos, pero puede contener algunas entradas, el sistema operativo devuelve tanto como se ajuste, se produce un error en la llamada, GetLastError devuelve el código de error ERROR_MORE_DATA y lpBytesReturned indica la cantidad de datos devueltos. La aplicación debe llamar a DeviceIoControl de nuevo con la misma operación, especificando un nuevo punto de partida.
Si lpOverlapped es NULL (E/S no superpuesta), lpBytesReturned no puede ser NULL.
Si lpOverlapped no es NULL (E/S superpuesta), lpBytesReturned puede ser NULL. Si se trata de una operación superpuesta, puede recuperar el número de bytes devueltos mediante una llamada a la función GetOverlappedResult . Si hDevice está asociado a un puerto de finalización de E/S, puede obtener el número de bytes devueltos llamando a la función GetQueuedCompletionStatus .
-
lpOverlapped
-
Puntero a una estructura SUPERPUESTA .
Si hDevice se abrió con la marca FILE_FLAG_OVERLAPPED, lpOverlapped debe apuntar a una estructura SUPERPUESTA válida. En este caso, la operación se realiza como una operación superpuesta (asincrónica). Si el dispositivo se abrió con la marca FILE_FLAG_OVERLAPPED y lpOverlapped es NULL, la función produce un error de maneras impredecibles.
Si hDevice se abrió sin especificar la marca FILE_FLAG_OVERLAPPED, lpOverlapped se omite y DeviceIoControl no devuelve hasta que se haya completado la operación o hasta que se produzca un error.
Valor devuelto
Si la operación se completa correctamente, DeviceIoControl devuelve un valor distinto de cero.
Si se produce un error en la operación o está pendiente, DeviceIoControl devuelve cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
El archivo de encabezado que se usa para compilar aplicaciones que incluyen esta funcionalidad, Ntddvdeo.h, se incluye en el Kit de desarrollo de controladores de Microsoft Windows (DDK). Para obtener información sobre cómo obtener el DDK, vea https://www.microsoft.com/whdc/devtools/ddk/default.mspx.
Como alternativa, puede definir este código de control de la siguiente manera:
#define IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS \
CTL_CODE(FILE_DEVICE_VIDEO, 0x126, METHOD_BUFFERED, FILE_ANY_ACCESS)
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows XP con SP1 [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2003 [solo aplicaciones de escritorio] |
Fin de compatibilidad de cliente |
Windows XP con SP2 |
Fin de compatibilidad de servidor |
Windows Server 2003 R2 |
Encabezado |
|