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
-
\\.\LCD デバイスへのハンドル。 デバイス ハンドルを取得するには、 CreateFile 関数を呼び出します。
-
dwIoControlCode
-
操作の制御コード。 この値は、実行する特定の操作と、実行するデバイスの種類を識別します。 この操作 にはIOCTL_VIDEO_QUERY_SUPPORTED_BRIGHTNESS を使用します。
-
lpInBuffer
-
この操作では使用されません。NULL に設定 します。
-
nInBufferSize
-
この操作では使用されません。0 に設定します。
-
lpOutBuffer
-
使用可能な電力レベルの配列を受け取るバッファーへのポインター。 このバッファーの長さが 256 バイトである必要があります。
-
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 を呼び出します。
注釈
lpOutBuffer 配列内の各要素の長さは 1 バイトです。 したがって、戻り時に lpBytesReturned パラメーターは 、サポートされているレベルの数を示します。 各レベルは、0 ~ 100 の値です。 値が大きいほどバックライトが明るくなります。 電源が AC か DC かに関係なく、すべてのレベルがサポートされます。
この機能を含むアプリケーションのビルドに使用されるヘッダー ファイル Ntddvdeo.h は、Microsoft Windows Driver Development Kit (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 [デスクトップ アプリのみ] |
Header |
|