次の方法で共有


モニター クラス ファンクション ドライバー

デバイス ノードは、モニターが接続されているディスプレイ アダプター上の各ビデオ出力を表すために使用されます。 デバイス ノードは、ディスプレイ アダプターのデバイス ノードの子です。

通常、デバイス スタックには、ビデオ出力/モニターのペアを表すデバイス オブジェクトが 2 つだけあります。

  • 物理デバイス オブジェクト (PDO)。
  • 機能デバイス オブジェクト (FDO)。

場合によっては、ベンダー提供のフィルター ドライバーに関連付けられたフィルター デバイス オブジェクト (DO) が存在します。 このフィルター デバイス オブジェクトは FDO の上にあります。

ノート PC の組み込みフラット パネルなどの統合型モニターの場合、Advanced Configuration and Power Interface (ACPI) ドライバーに関連付けられたフィルター DO が存在する可能性があります。 このフィルター DO は PDO の上にあります。

次の表は、モニターが接続されているビデオ出力のデバイス スタックをまとめたものです。

デバイス オブジェクト 必須/任意 Driver
フィルター DO オプション (通常は不要) モニター ベンダーによって提供されるフィルター ドライバー
FDO 必須 Microsoft が提供するモニター クラス ファンクション ドライバー (Monitor.sys)
フィルター DO 統合型 ACPI ディスプレイ パネルのみで必要 Microsoft が提供する ACPI ドライバー (Acpi.sys)
PDO 必須 ディスプレイ アダプター ベンダーによって提供されるバス ドライバー (ディスプレイ ミニポート/ポート ペア)

ユーザー モード アプリケーションは、WMI を使用して、モニター クラス ファンクション ドライバーのサービスを呼び出します。 これらのサービスには、モニターの識別データの公開が含まれます。 ACPI ディスプレイの場合、サービスにはディスプレイの明るさの設定が含まれます。

モニターは、その識別情報と機能情報を拡張ディスプレイ識別データ (EDID) 構造体に格納します。 EDID は、モニターとホストの間で使用される通信プロトコルに依存しない ID と機能に関する情報をホストに提供するメタデータ形式です。 FDO は、ユーザーモード アプリケーションからの要求を処理して、そのモニターのデバイス スタックでモニターの EDID を読み取ります。 モニターの EDID を取得する要求を FDO が受信した場合:

  • FDO は、モニターのデバイス スタックの下部にある PDO に要求を送信します。
  • PDO は、ディスプレイ データ チャネル (DDC) プロトコルを使用して、すべての標準モニター ケーブルに組み込まれた単純な 2 線式バスである I²C バス経由でモニターの EDID を読み取ります。

EDID は、エイリアスが Dispmprt.h で定義されている ACPI_METHOD_OUTPUT_DDC メソッドを使用して取得できます。 このメソッドは、EDID データを返す別の標準メカニズムを持たない統合型 LCD では必須です。

ディスプレイ アダプターとモニター間の通信の詳細については、「I2C バスとディスプレイ アダプターの子デバイス」を参照してください。

EDID 構造と DDC プロトコルの詳細については、ビデオ エレクトロニクス標準協会 (VESA) が公開している以下の標準を参照してください。

  • Enhanced Display Data Channel Standard (E-DDC)

  • Enhanced EDID Standard (E-EDID)

これらの標準は、「無料標準」セクションの vesa.org からダウンロードできます。

I²C バスの詳細については、Philips Semiconductors が発行する I²C バス仕様を参照してください。