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

lpOverlappedNULL (非overlapped 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 を呼び出します。

注釈

この機能を含むアプリケーションのビルドに使用されるヘッダー ファイル 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
Ntddvdeo.h

こちらもご覧ください

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

DeviceIoControl

DISPLAY_BRIGHTNESS

IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS