コールバック関数DXGK_BRIGHTNESS_GET_BACKLIGHT_REDUCTION (dispmprt.h)

統合ディスプレイ パネルに適用されているバックライトの現在のレベルを取得します。

構文

DXGK_BRIGHTNESS_GET_BACKLIGHT_REDUCTION DxgkBrightnessGetBacklightReduction;

NTSTATUS DxgkBrightnessGetBacklightReduction(
  [in]  PVOID Context,
  [out] DXGK_BACKLIGHT_INFO *BacklightInfo
)
{...}

パラメーター

[in] Context

ディスプレイ アダプターに関連付けられている DxgkDdiAddDevice コンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーの関数は、以前に DirectX グラフィックス カーネル サブシステムにこのハンドルを提供しました。

[out] BacklightInfo

バックライト削減の現在の絶対レベルを提供する型 DXGK_BACKLIGHT_INFO の値。

戻り値

成功した場合STATUS_SUCCESSを返します。 それ以外の場合は、Ntstatus.h で定義されているエラー コードのいずれかを返します。

注釈

この関数は、ほとんどの場合、ディスプレイ パネルで高品質のユーザー エクスペリエンスを確保するためのデバッグとテストの目的で使用されます。 ディスプレイ ミニポート ドライバーは、この関数が呼び出されたときに、統合されたディスプレイ パネルに関する正確な情報を常に提供する必要があります。

一部のハードウェアでは、BacklightInfo-BacklightUsersetting または BacklightInfo-BacklightEffective>> の値が 0 の場合、Windows の明るさレベルが 0% に対応しない場合があることに注意してください。 したがって、オペレーティング システムには 、バックライトユーザー設定とバックライト 効果によって提供される絶対明るさ情報 が必要です。 ハードウェアで 0 ~ 255 の明るさレベルを使用する場合は、これらの値に 256 を掛けて、0 ~ 65535 の 範囲のバックライトユーザー設定バックライト効果に正しくマップする必要があります。

この関数はページング可能にする必要があります。

バックライトの減少率を計算する

バックライト減少率 (BRR) は、(バックライトユーザー設定 - のバックライトEffective) / バックライトユーザー設定として計算されます。

オペレーティング システムでは、新しい明るさレベルの要求に応じて、ドライバーは、バックライトのピクセルの明るさを向上させることを前提としています Usersetting / バックライトEffective = 1.0 / (1.0 - BRR)。

たとえば、 BRR = 0.2 の場合、ドライバーは通常、1.0 / (1.0 - BRR) = 1.25 の係数で明るさを上げるので、明るさの値が 255 * (1.0 - BRR) = 204 を超えるピクセルは飽和します。 ドライバーによって提供される BacklightInfo-GammaRamp> の値を使用して、オペレーティング システムは、特定の画像のピクセルの明るさの歪みをより正確に推定できます。

要件

要件
サポートされている最小のクライアント Windows 8
サポートされている最小のサーバー Windows Server 2012
対象プラットフォーム デスクトップ
Header dispmprt.h (Dispmprt.h を含む)
IRQL PASSIVE_LEVEL

こちらもご覧ください

DXGK_BACKLIGHT_INFO

DxgkDdiAddDevice