IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS控制項程式碼
設定目前的 AC 和 DC 回光等級。
若要執行這項作業,請使用下列參數呼叫 DeviceIoControl 函式。
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS, // dwIoControlCode
(LPVOID) lpInBuffer, // input buffer
(DWORD) nInBufferSize, // size of the input buffer
NULL, // lpOutBuffer
0, // nOutBufferSize
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
參數
-
hDevice
-
\\.\RGB 裝置的控制碼。 若要擷取裝置控制碼,請呼叫 CreateFile 函式。
-
dwIoControlCode
-
作業的控制程式代碼。 這個值會識別要執行的特定作業,以及要在其中執行的裝置類型。 針對此作業使用 IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS 。
-
lpInBuffer
-
DISPLAY_BRIGHTNESS結構的指標。
-
nInBufferSize
-
lpOutBuffer所指向的緩衝區大小,以位元組為單位。
-
lpOutBuffer
-
未搭配此作業使用;設定為 Null。
-
nOutBufferSize
-
未搭配此作業使用;設定為零。
-
lpBytesReturned
-
變數的指標,可接收輸出緩衝區中函式傳回的實際位元組計數。
如果 lpOverlapped 是 Null (非重迭 I/O) , 則 lpBytesReturned 會在內部使用,而且不能是 Null。
如果 lpOverlapped 不是 Null (重迭的 I/O) , lpBytesReturned 可以是 Null。
-
lpOverlapped
-
重迭結構的指標。
如果使用 FILE_FLAG_OVERLAPPED 旗標開啟 hDevice , 則 lpOverlapped 必須指向有效的 重迭 結構。 在此情況下,作業會以重迭的 (非同步) 作業來執行。 如果裝置是以 FILE_FLAG_OVERLAPPED 旗標開啟, 而 lpOverlapped 為 Null,則函式會以無法預測的方式失敗。
如果 已開啟 hDevice 而不指定FILE_FLAG_OVERLAPPED旗標, 則會忽略 lpOverlapped ,且 DeviceIoControl 不會在作業完成之前傳回,或直到發生錯誤為止。
傳回值
如果作業順利完成, DeviceIoControl 會傳回非零值。
如果作業失敗或擱置中, DeviceIoControl 會傳回零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
DISPLAY_BRIGHTNESS結構的ucACBrightness 和 ucDCBrightness成員中指定的值必須先前由IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS傳回。 例如,如果支援的值是 10、20、30、40、50、60、70、80、90 和 100,則使用 33 的值會是錯誤。
用來建置包含這項功能之應用程式的標頭檔 Ntdhseo.h 包含在 Microsoft Windows 驅動程式開發工具組 (DDK) 中。 如需取得 DDK 的資訊,請參閱 https://www.microsoft.com/whdc/devtools/ddk/default.mspx 。
或者,您可以定義此控制項程式碼,如下所示:
#define IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS \
CTL_CODE(FILE_DEVICE_VIDEO, 0x127, METHOD_BUFFERED, FILE_ANY_ACCESS)
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows Vista、Windows XP 與 SP1 [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2003 [僅限傳統型應用程式] |
標頭 |
|