ACPI デバイスのデバイス スタック
このセクションでは、ベンダーが提供する WDM ファンクション ドライバーによって作成されたオプションの機能デバイス オブジェクト (FDO) を含む ACPI デバイスのデバイス スタックについて説明します。
システムは、システムの ACPI 名前空間内の各デバイスについて、次の図に示す 2 つのデバイス スタックのいずれかを作成します。
ACPI デバイスがシステム ボードに統合されたハードウェア デバイスである場合、システムはバス フィルター デバイス オブジェクト (filter DO) を使用してデバイス スタックを作成します。 デバイスの物理デバイス オブジェクト (PDO) は、システム提供のルート バス ドライバーによって作成され、ACPI ドライバーはバス フィルター DO を作成します。 フィルター DO の存在は、デバイス スタック内のその上にある他のデバイス オブジェクトに対して透過的です。
デバイスがシステム ボードに統合されたハードウェア デバイスでない場合、ACPI ドライバーはデバイスを列挙し、PDO を作成します。 いずれの場合も、ベンダーはオプションの FDO を指定できます。
システム提供のルート バス ドライバーと ACPI ドライバー
マイクロソフトはルート バス ドライバーと ACPI ドライバーを提供します。 ACPI BIOS を搭載したシステムでは、HAL はシステムの起動中にデバイス ツリーのベースで ACPI ドライバーを読み込み、オペレーティング システムと BIOS の間のインターフェイスとして機能します。 ACPI ドライバーは、他のドライバーに対して透過的です。
ベンダーが提供するファンクション ドライバー
ベンダーは、ACPI デバイスのオプションの WDM ファンクション ドライバーを提供できます。 ファンクション ドライバーは、デバイスの操作領域と、関連するデバイス固有の操作を実装します。