在驅動程式中支援 D3cold
從Windows 8開始,D3 (關閉) 裝置電源狀態分成兩個不同的子狀態:D3hot 和 D3cold。 D3 是最低電源的裝置電源狀態,D3cold 是 D3 的最低電源子狀態。 將閒置裝置移至 D3cold 子階段可減少耗電量,並延長行動硬體平臺可在電池計量上執行的時間。
在 D3hot 中,裝置大多已關閉。 不過,裝置不會與其主要電源中斷連線,而且父匯流排控制器可以偵測匯流排上是否有裝置。 在 D3cold 中,主要電源會從裝置中移除,而匯流排控制器無法偵測裝置是否存在。 如需詳細資訊,請參閱 裝置Low-Power狀態中的 D3hot 和 D3cold 描述。
在舊版 Windows 中,D3 裝置電源狀態會隱含地分成 D3hot 和 D3cold 子狀態,但除非電腦準備結束 S0 系統電源狀態並進入其中一個睡眠狀態 S1 到 S4,否則裝置無法輸入 D3cold。 低電源 Dx 指出當電腦保留在 S0 中時,裝置可以進入,限制為 D1 到 D3hot。
Windows 8是支援當電腦處於 S0 且未準備進入睡眠狀態時,裝置電源狀態轉換至 D3cold 子狀態的第一個 Windows 版本。 以這種方式支援 D3cold 的裝置可協助以下列方式節省電源:
- 裝置耗用 D3cold 的電源比任何其他低電量 Dx 狀態少。
- 如果此裝置與其他裝置共用匯流排,且所有這些裝置都支援 D3cold,則在匯流排上的所有裝置進入 D3cold 之後,匯流排控制器可以進入低電源 Dx 狀態。
- 如果此裝置與其他裝置共用電源,而且所有這些裝置都支援 D3cold,則當這些裝置的最後一個裝置進入 D3hot 時,就可以移除電源,此時這些裝置全都會以一致的方式進入 D3cold。
相反地,無法在 D3cold 中閒置的裝置可能會防止其他裝置進入 D3cold 或其他低電源 Dx 狀態。
下列主題包含有關在裝置驅動程式中支援 D3cold 的詳細資訊。
本節內容
主題 | 描述 |
---|---|
啟用轉換至 D3cold | 所有版本的 Windows 都會讓裝置處於 D3cold,而電腦處於睡眠狀態 (處於其中一個系統低電源狀態,S1 到 S4) 。 電腦離開 S0 之前,函式驅動程式、匯流排驅動程式和篩選驅動程式會一起運作,以將裝置移至 D3hot。 當電腦進入低電源 Sx 狀態時,此轉換會產生將裝置從 D3hot 移至 D3cold 的副作用。 |
裝置的 D3cold 功能 | 在裝置的電源原則擁有者 (PPO) 之前,當電腦保持 S0) 時,驅動程式必須確認裝置會回應,並在裝置進入 D3col (d 之後繼續正常運作。 |
使用 GUID_D3COLD_SUPPORT_INTERFACE 驅動程式介面 | 從Windows 8開始,驅動程式可以呼叫D3COLD_SUPPORT_INTERFACE介面中的常式,以判斷裝置的 D3cold 功能,並讓這些裝置能夠使用 D3cold。 此介面中的兩個主要常式為 SetD3ColdSupport 和 GetIdleWakeInfo。 |
意外喚醒 | 意外喚醒是非預期的轉換至 D0。 裝置進入 D3cold 之後,當同一個電源軌上的驅動程式要求從 D3cold 轉換到 D0 時,它可能會遇到意外喚醒作為副作用。 第一個裝置的驅動程式必須收到意外喚醒的通知,以防止裝置剩餘處於未初始化的 D0 狀態。 |