コントロール コードの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 をもう一度呼び出す必要があります。

lpOverlappedNULL (非オーバーラップ I/O) の場合、lpBytesReturnedNULL にすることはできません。

lpOverlappedNULL (重複 I/O) でない場合、lpBytesReturnedNULL にすることができます。 これが重複する操作の場合は、 GetOverlappedResult 関数を呼び出して返されるバイト数を取得できます。 hDevice が I/O 入力候補ポートに関連付けられている場合は、GetQueuedCompletionStatus 関数を呼び出して返されるバイト数を取得できます。

lpOverlapped

OVERLAPPED 構造体へのポインター。

hDevice が FILE_FLAG_OVERLAPPED フラグで開かれた場合、lpOverlapped は有効な OVERLAPPED 構造体を指す必要があります。 この場合、操作は重複 (非同期) 操作として実行されます。 デバイスが FILE_FLAG_OVERLAPPED フラグで開き、 lpOverlappedNULL の場合、関数は予測できない方法で失敗します。

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、SP1 で XP をWindowsする [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
ヘッダー
Ntddvdeo.h

関連項目

バックライト制御インターフェイス

DeviceIoControl