裝置工作狀態 D0

在 D0 裝置電源狀態中,裝置已完全開啟且可運作。 在此狀態下,設備磁碟機可以與裝置互動以執行 I/O 作業,而且裝置可以產生中斷。 如果裝置有對應到記憶體或 I/O 位址空間的硬體暫存器,驅動程式就可以存取這些暫存器。

從Windows 8開始,設備磁碟機可以將被動層級插斷服務常式 (ISR) 連接到裝置的中斷。 無論裝置是否在 D0 中,裝置都可以產生中斷。 當處於低電源 Dx 狀態時,裝置可以產生中斷,作為將裝置帶回 D0 的觸發程式。 ISR 排定在 IRQL = PASSIVE_LEVEL裝置進入 D0 之後執行。 在舊版的 Windows 中,包括 Windows 7,當裝置處於 D0 以外的裝置電源狀態時,不得產生中斷。

從 D0 轉換到低電源 Dx 狀態只有在設備磁碟機作為裝置的電源原則擁有者時,才會發生轉換,方法是呼叫 PoRequestPowerIrp 常式來起始轉換。 當電源管理員透過Windows ACPI 驅動程式傳送電源 IRP (IRP_MN_SET_POWER) 、設備磁碟機、匯流排驅動程式和平臺韌體 (來回應此呼叫時,Acpi.sys) 合作處理此 IRP 以變更裝置的電源狀態。

裝置硬體通常會監視一組內部事件,視裝置的設定方式而定,可能會產生執行時間中斷或喚醒訊號。 驅動程式會實作一個程式碼路徑來回應中斷,另一個則用來回應喚醒事件。 如果中斷程式碼路徑不需要處理喚醒事件,而且喚醒程式碼路徑不需要處理中斷,則可以簡化驅動程式程式碼。 最佳做法是,驅動程式應該將裝置設定為只在裝置處於 D0 時產生中斷,而且只有在裝置處於低電量 Dx 狀態時才會產生喚醒訊號。 一般而言,驅動程式會將裝置設定為在裝置結束 D0 之前產生喚醒訊號,並將裝置設定為在裝置進入 D0 之後產生中斷。

一般而言,裝置在判斷提示其硬體重設訊號時進入 D0 狀態。 事實上,PCI 和 PCI Express 等公車的規格需要此行為。

以下是 D0 狀態的特性:

功耗
裝置的最高連續耗電量層級。

裝置內容
保留所有內容。

設備磁碟機行為
一般作業。

還原時間
不適用。

喚醒功能
不適用。