Share via


IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS控制項程式碼

擷取支援的反光燈層級。

若要執行這項作業,請使用下列參數呼叫 DeviceIoControl 函式。

BOOL DeviceIoControl(
  (HANDLE) hDevice,                // handle to device
  IOCTL_VIDEO_QUERY_SUPPORTED_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

\\.\RGB 裝置的控制碼。 若要擷取裝置控制碼,請呼叫 CreateFile 函式。

dwIoControlCode

作業的控制程式代碼。 這個值會識別要執行的特定作業,以及要在其中執行的裝置類型。 針對此作業使用 IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS

lpInBuffer

未搭配此作業使用;設定為 Null

nInBufferSize

未搭配此作業使用;設定為零。

lpOutBuffer

接收可用電源等級陣列之緩衝區的指標。 此緩衝區長度應為 256 個位元組。

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

重迭結構的指標。

如果使用 FILE_FLAG_OVERLAPPED 旗標開啟 hDevice則 lpOverlapped 必須指向有效的 重迭 結構。 在此情況下,作業會以重迭的 (非同步) 作業來執行。 如果裝置是以 FILE_FLAG_OVERLAPPED 旗標開啟, 而 lpOverlappedNull,則函式會以無法預測的方式失敗。

如果 已開啟 hDevice 而不指定FILE_FLAG_OVERLAPPED旗標, 則會忽略 lpOverlapped ,且 DeviceIoControl 不會在作業完成之前傳回,或直到發生錯誤為止。

傳回值

如果作業順利完成, DeviceIoControl 會傳回非零值。

如果作業失敗或擱置中, DeviceIoControl 會傳回零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

lpOutBuffer陣列中的每個元素都是長度的一個位元組。 因此,傳回時, lpBytesReturned 參數會指出支援的層級數目。 每個層級都是從 0 到 100 的值。 值愈大,回光越亮。 無論電源是 AC 還是 DC,都支援所有層級。

用來建置包含這項功能之應用程式的標頭檔 Ntdhseo.h 包含在 Microsoft Windows 驅動程式開發工具組 (DDK) 中。 如需取得 DDK 的資訊,請參閱 https://www.microsoft.com/whdc/devtools/ddk/default.mspx

或者,您可以定義此控制項程式碼,如下所示:

#define IOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS \
  CTL_CODE(FILE_DEVICE_VIDEO, 0x125, METHOD_BUFFERED, FILE_ANY_ACCESS)

規格需求

需求
最低支援的用戶端
Windows Vista、Windows XP 與 SP1 [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2003 [僅限傳統型應用程式]
標頭
Ntdeo.h

另請參閱

Backlight 控制項介面

DeviceIoControl