IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS控制代码

[此控制代码可用于“要求”部分中指定的操作系统。 Windows Server 2008 和 Windows Vista 中已删除对此控制代码的支持。 请改用 WmiMonitorBrightness 类。]

检索当前 AC 和 DC 背光级别以及当前电源状态。

若要执行此操作,请使用以下参数调用 DeviceIoControl 函数。

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

参数

hDevice

\\.\LCD 设备的句柄。 若要检索设备句柄,请调用 CreateFile 函数。

dwIoControlCode

操作的控制代码。 此值标识要执行的特定操作以及要执行该操作的设备类型。 对此操作使用 IOCTL_VIDEO_QUERY_DISPLAY_BRIGHTNESS

lpInBuffer

未与此操作一起使用;设置为 NULL

nInBufferSize

未与此操作一起使用;设置为零。

lpOutBuffer

指向将接收DISPLAY_BRIGHTNESS结构的缓冲区 指针。

nOutBufferSize

输出缓冲区的大小(以字节为单位)。

lpBytesReturned

指向变量的指针,该变量接收返回的输出数据的大小(以字节为单位)。

如果输出缓冲区太小而无法返回任何数据,则调用会失败, GetLastError ERROR_INSUFFICIENT_BUFFER返回错误代码,并且返回的字节计数为零。

如果输出缓冲区太小,无法容纳所有数据,但可以容纳一些条目,则操作系统返回的量与拟合量相同,调用失败, GetLastError 返回错误代码ERROR_MORE_DATA, lpBytesReturned 指示返回的数据量。 应用程序应再次使用相同的操作调用 DeviceIoControl ,并指定一个新的起点。

如果 lpOverlappedNULL (非重叠 I/O) , 则 lpBytesReturned 不能为 NULL

如果 lpOverlapped 不是 NULL (重叠的 I/O) , 则 lpBytesReturned 可以为 NULL。 如果这是一个重叠的操作,可以通过调用 GetOverlappedResult 函数来检索返回的字节数。 如果 hDevice 与 I/O 完成端口相关联,可以通过调用 GetQueuedCompletionStatus 函数来获取返回的字节数。

lpOverlapped

指向 OVERLAPPED 结构的指针。

如果使用 FILE_FLAG_OVERLAPPED 标志打开 hDevice则 lpOverlapped 必须指向有效的 OVERLAPPED 结构。 在这种情况下,该操作作为重叠 (异步) 操作执行。 如果设备使用 FILE_FLAG_OVERLAPPED 标志打开,并且 lpOverlappedNULL,则该函数会以不可预知的方式失败。

如果在未指定FILE_FLAG_OVERLAPPED标志的情况下打开 hDevice ,则忽略 lpOverlapped并且 DeviceIoControl 在操作完成或发生错误之前不会返回。

返回值

如果操作成功完成, DeviceIoControl 将返回非零值。

如果操作失败或挂起, DeviceIoControl 返回零。 要获得更多的错误信息,请调用 GetLastError

备注

用于生成包含此功能的应用程序的头文件 Ntddvdeo.h 包含在 Microsoft Windows 驱动程序开发工具包 (DDK) 中。 有关获取 DDK 的信息,请参阅 https://www.microsoft.com/whdc/devtools/ddk/default.mspx

或者,可以定义此控件代码,如下所示:

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

要求

要求
最低受支持的客户端
具有 SP1 的 Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
客户端支持终止
带有 SP2 的 Windows XP
终止服务器支持
Windows Server 2003 R2
标头
Ntddvdeo.h

另请参阅

背光控制接口

DeviceIoControl

DISPLAY_BRIGHTNESS

IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS