次の方法で共有


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

DxgkDdiSetBrightness 関数は、新しい明るさレベルを設定します。

構文

DXGK_BRIGHTNESS_SET DxgkBrightnessSet;

NTSTATUS DxgkBrightnessSet(
  [in] PVOID Context,
  [in] UCHAR Brightness
)
{...}

パラメーター

[in] Context

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

[in] Brightness

設定する明るさレベルの値。

戻り値

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

備考

モニター ドライバー は、ディスプレイ ミニポート ドライバーの DxgkDdiSetBrightness 関数を呼び出して、次の理由で統合ディスプレイ パネルの明るさレベルを変更します。

  • デバイス電源ポリシー エンジン (DPPE) からの通知は、現在のポリシーが変更されているか、新しいポリシーが有効になっていることを示します。 新しい DPPE ポリシーは、電源が変更されたときだけでなく、システムの起動、再開、およびユーザーの切り替えにも有効になります。
  • ユーザー モード クライアントが明るさを制御する推奨される方法は、Windows Management Instrumentation (WMI) を使用することです。 モニター ドライバーは、明るさレベルを選択するか、現在アクティブな DPPE ポリシーによって選択されたレベルに明るさレベルを戻す WMI の明るさコントロールを実装します。 明るさレベルを選択する WMI メソッドは、DPPE ポリシーの変更が発生するまで、現在の DPPE ポリシー レベルをオーバーライドします。 DPPE ポリシーが変更されると、新しい DPPE レベルが設定されます。
  • Windows 2000 ディスプレイ ドライバー モデルとの互換性のために、モニター ドライバーは、ユーザー モード クライアントが明るさを制御する別の方法として IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS を実装します。 IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESSの呼び出しは、明るさレベルを選択する WMI の明るさコントロールと同じ方法で処理されます。
  • モニター ドライバーは、高度な構成と電源インターフェイス (ACPI) ドライバーからの明るさのホット キー通知を現在の明るさレベルを変更するユーザー要求として解釈します。 WMI および IOCTL ユーザー モード インターフェイスと同様に、ホット キー通知によってトリガーされる明るさレベルの変更は、現在の DPPE ポリシーをオーバーライドし、DPPE ポリシーが輝度値の再設定を要求するまで有効なままです。
DxgkDdiSetBrightness ページング可能にする必要があります。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista
ターゲット プラットフォーム デスクトップ
ヘッダー dispmprt.h (Dispmprt.h を含む)
IRQL PASSIVE_LEVEL

関連項目

DxgkDdiAddDevice

IOCTL_VIDEO_SET_DISPLAY_BRIGHTNESS