コントロール コードの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
-
この操作では使用されません。0 に設定します。
-
lpOutBuffer
-
DISPLAY_BRIGHTNESS構造体を受け取るバッファーへのポインター。
-
nOutBufferSize
-
出力バッファーのサイズ (バイト単位)。
-
lpBytesReturned
-
返される出力データのサイズをバイト単位で受け取る変数へのポインター。
出力バッファーが小さすぎてデータを返すことのできない場合、呼び出しは失敗し、 GetLastError はエラー コード ERROR_INSUFFICIENT_BUFFERを返し、返されるバイト数は 0 です。
出力バッファーが小さすぎてすべてのデータを保持できないが、一部のエントリを保持できる場合、オペレーティング システムは適合する限りを返し、呼び出しは失敗し、 GetLastError は ERROR_MORE_DATAエラー コードを返し、 lpBytesReturned は返されるデータの量を示します。 アプリケーションは、新しい開始点を指定して、同じ操作で DeviceIoControl を再度呼び出す必要があります。
lpOverlapped が NULL (非overlapped I/O) の場合、lpBytesReturned を NULL にすることはできません。
lpOverlapped が NULL (重複した I/O) でない場合、lpBytesReturned は NULL にすることができます。 重複する操作の場合は、 GetOverlappedResult 関数を呼び出して返されるバイト数を取得できます。 hDevice が I/O 入力候補ポートに関連付けられている場合は、GetQueuedCompletionStatus 関数を呼び出すことによって返されるバイト数を取得できます。
-
lpOverlapped
-
OVERLAPPED 構造体へのポインター。
hDevice が FILE_FLAG_OVERLAPPED フラグで開かれた場合、lpOverlapped は有効な OVERLAPPED 構造体を指している必要があります。 この場合、操作は重複 (非同期) 操作として実行されます。 デバイスが FILE_FLAG_OVERLAPPED フラグで開き、 lpOverlapped が NULL の場合、予期しない方法で関数が失敗します。
FILE_FLAG_OVERLAPPED フラグを指定せずに hDevice を開いた場合、 lpOverlapped は無視され、操作が完了するまで、またはエラーが発生するまで DeviceIoControl は戻りません。
戻り値
操作が正常に完了すると、 DeviceIoControl は 0 以外の値を返します。
操作が失敗した場合、または保留中の場合、 DeviceIoControl は 0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
注釈
この機能を含むアプリケーションのビルドに使用されるヘッダー ファイル Ntddvdeo.h は、Microsoft Windows Driver Development Kit (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)
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
WINDOWS XP と SP1 [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2003 [デスクトップ アプリのみ] |
クライアント サポートの終了 |
Windows XP SP2 |
サーバー サポートの終了 |
Windows Server 2003 R2 |
Header |
|