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
-
\\.\LED 裝置的控制碼。 若要擷取裝置控制碼,請呼叫 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 ,並指定新的起點。
如果 lpOverlapped 是 Null (非重迭 I/O) , 則 lpBytesReturned 不可為 Null。
如果 lpOverlapped 不是 Null (重迭的 I/O) , lpBytesReturned 可以是 Null。 如果這是重迭的作業,您可以呼叫 GetOverlappedResult 函式來擷取傳回的位元組數目。 如果 hDevice 與 I/O 完成埠相關聯,您可以呼叫 GetQueuedCompletionStatus 函式來取得傳回的位元組數目。
-
lpOverlapped
-
重迭結構的指標。
如果 hDevice 是以 FILE_FLAG_OVERLAPPED 旗標開啟, lpOverlapped 必須指向有效的 OVERLAPPED 結構。 在此情況下,作業會以重迭的 (非同步) 作業來執行。 如果裝置以 FILE_FLAG_OVERLAPPED 旗標開啟,且 lpOverlapped 為 Null,則函式會以無法預期的方式失敗。
如果 開啟 hDevice 但未指定FILE_FLAG_OVERLAPPED旗標,則會忽略 lpOverlapped ,而且 DeviceIoControl 不會在作業完成或發生錯誤之前傳回。
傳回值
如果作業順利完成, DeviceIoControl 會傳回非零值。
如果作業失敗或擱置中, DeviceIoControl 會 傳回零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
標頭檔用來建置包含這項功能 Ntd (DDK) 的 Microsoft Windows 驅動程式開發工具組中。 如需取得 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)
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows XP with SP1 [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2003 [僅限桌面應用程式] |
用戶端支援結束 |
Windows XP 含 SP2 |
伺服器終止支援 |
Windows Server 2003 R2 |
標頭 |
|