Low-Level モニター構成関数の使用
低レベルのモニター構成機能を使用する前に、次の標準について理解しておく必要があります。
- データ チャネル コマンド インターフェイスの表示 (DDC/CI)
- VESA モニター制御コマンド セット (MCCS)
低レベル関数は、Virtual コントロール パネル (VCP) コードの値を取得して設定することで機能します。 VCP コードは、 連続 または 非連続にすることができます。 連続コードでは、0 からベンダー固有の最大値までの任意の値を想定できます。 非連続コードでは、定義された値のセットがサポートされています。これはベンダーにも固有です。
低レベルのモニター構成機能を使用するには、次の手順を実行します。
- EnumDisplayMonitors または MonitorFromWindow を呼び出して、HMONITOR ハンドルを取得します。
- GetNumberOfPhysicalMonitorsFromHMONITOR を呼び出して、HMONITOR ハンドルに関連付けられている物理モニターの数を取得します。
- GetPhysicalMonitorsFromHMONITOR を呼び出して、物理モニターへのハンドルの一覧を取得します。
- GetCapabilitiesStringLength を呼び出して、モニターの DDC/CI 機能文字列の長さを取得します。 capabilities 文字列は、モニターに関する静的な情報を含む ASCII 文字列です。 文字列の 1 つの部分には、モニターがサポートする VCP コードが一覧表示されます。 文字列には、連続しない VCP コードのサポートされている値も一覧表示されます。
- capabilities 文字列を保持するバッファーを割り当て、 CapabilitiesRequestAndCapabilitiesReply を呼び出して文字列を取得します。
- capabilities 文字列を解析して、モニターがサポートする VCP コードを特定します。
- 連続 VCP コードの場合は、 GetVCPFeatureAndVCPFeatureReply を呼び出して、コードの現在の値と最大値を取得します。 連続しない VCP コードの場合は、capabilities 文字列を解析して、サポートされている値を取得します。
- SetVCPFeature を呼び出して、VCP コードの新しい値を設定します。
関連トピック