次の方法で共有


モニター クラスの関数ドライバー

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

通常、(ビデオ出力とモニターの) ペアを表すデバイス スタックには、物理デバイス オブジェクト (PDO) と機能デバイス オブジェクト (FDO) の 2 つのデバイス オブジェクトしかありません。 場合によっては、ベンダーが提供するフィルター ドライバーに関連付けられるフィルター DO が、FDO の上に存在することがあります。 ノート PC 組み込みのフラット パネルなどの統合型モニターの場合、ACPI (Advanced Configuration and Power Interface) ドライバーに関連付けられたフィルター DO が、PDO の上に存在する可能性があります。

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

Device オブジェクト 必須/任意 Driver

フィルター DO

オプション (通常は不要)

モニター ベンダーによって提供されるフィルター ドライバー

FD0

必須

Microsoft が提供するモニター クラス ファンクション ドライバー (Monitor.sys)

フィルター DO

統合型 ACPI ディスプレイ パネルのみで必要

Microsoft が提供する ACPI ドライバー (Acpi.sys)

PDO

必須

ディスプレイ アダプター ベンダーによって提供されるバス ドライバー (ディスプレイ ミニポート/ポート ペア)

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

モニターは、自身の識別情報と機能情報を EDID (Extended Display Identification Data) 構造に格納します。この形式により、ディスプレイは、モニターとホストの間で使用される通信プロトコルとは無関係に、自身の ID と機能に関する情報をホストに提供できます。 ユーザー モード アプリケーションからのモニターの EDID 読み取り要求は、そのモニターのデバイス スタックのファンクション ドライバー (Monitor.sys) によって処理されます。 モニター ファンクション ドライバーは、モニターの EDID を取得するための要求を受信すると、モニターのデバイス スタックの下部にある物理デバイス オブジェクト (PDO) によって表されるディスプレイ ポート/ミニポート ドライバーのペアに要求を送信します。 ディスプレイ ポート/ミニポート ドライバーのペアは、DDC (Display Data Channel) プロトコルを使用して、すべての標準モニター ケーブルに組み込まれた単純な 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 バス仕様を参照してください。