Low-Level モニター構成関数の使用

低レベルのモニター構成機能を使用する前に、次の標準について理解しておく必要があります。

  • データ チャネル コマンド インターフェイスの表示 (DDC/CI)
  • VESA モニター制御コマンド セット (MCCS)

低レベル関数は、Virtual コントロール パネル (VCP) コードの値を取得して設定することで機能します。 VCP コードは、 連続 または 非連続にすることができます。 連続コードでは、0 からベンダー固有の最大値までの任意の値を想定できます。 非連続コードでは、定義された値のセットがサポートされています。これはベンダーにも固有です。

低レベルのモニター構成機能を使用するには、次の手順を実行します。

  1. EnumDisplayMonitors または MonitorFromWindow を呼び出して、HMONITOR ハンドルを取得します。
  2. GetNumberOfPhysicalMonitorsFromHMONITOR を呼び出して、HMONITOR ハンドルに関連付けられている物理モニターの数を取得します。
  3. GetPhysicalMonitorsFromHMONITOR を呼び出して、物理モニターへのハンドルの一覧を取得します。
  4. GetCapabilitiesStringLength を呼び出して、モニターの DDC/CI 機能文字列の長さを取得します。 capabilities 文字列は、モニターに関する静的な情報を含む ASCII 文字列です。 文字列の 1 つの部分には、モニターがサポートする VCP コードが一覧表示されます。 文字列には、連続しない VCP コードのサポートされている値も一覧表示されます。
  5. capabilities 文字列を保持するバッファーを割り当て、 CapabilitiesRequestAndCapabilitiesReply を呼び出して文字列を取得します。
  6. capabilities 文字列を解析して、モニターがサポートする VCP コードを特定します。
  7. 連続 VCP コードの場合は、 GetVCPFeatureAndVCPFeatureReply を呼び出して、コードの現在の値と最大値を取得します。 連続しない VCP コードの場合は、capabilities 文字列を解析して、サポートされている値を取得します。
  8. SetVCPFeature を呼び出して、VCP コードの新しい値を設定します。

モニター構成の使用