在讓裝置的電源政策擁有者(PPO)所管理的驅動程式啟動該裝置進入 D3cold 狀態之前(當電腦保持在 S0 狀態時),驅動程式必須確認該裝置在進入 D3cold 後仍能回應且繼續正常運行。
針對隨插即用 (PnP) 裝置,作業系統通常會從父匯流排驅動程式取得裝置 D3cold 功能的相關資訊。
例如,如果裝置連結至 PCI 或 PCI Express 匯流排,則裝置的 PCI 組態空間會包含電源管理暫存器區塊,指出裝置的功能。 此區塊中的功能旗標會指定設備的電源狀態,設備可以從中發出電源管理事件 (PME,即 PCI 用語中的喚醒事件) 的信號。 這些狀態可能包括 D3hot 和 D3cold。 如需 PCI 電源管理的詳細資訊,請參閱 PCI 匯流排電源管理介面規格。
如果裝置必須能夠從任何進入的低功耗 Dx 狀態發出喚醒事件信號,那麼除非裝置、父匯流排控制器和硬體平台能支援從 D3cold 發出喚醒事件信號,否則裝置不應進入 D3cold。
裝置的 KMDF 驅動程式會呼叫 WdfDeviceAssignS0IdleSettings 方法,讓裝置在最低電源裝置電源狀態中閒置,裝置可以從中發出喚醒事件訊號。 從 KMDF 1.11 版開始,WdfDeviceAssignS0IdleSettings 會將 D3cold 作為可能的低功耗 Dx 狀態範圍之一。 只有在裝置、父匯流排驅動程式和 ACPI 系統韌體支援來自 D3cold 的訊號喚醒事件時,此方法才能讓裝置在 D3cold 中閒置。
裝置的 WDM 驅動程式必須決定在裝置閒置時將裝置移至哪個低功率 Dx 狀態。 (相反地,WdfDeviceAssignS0IdleSettings 會自動選取此 Dx 狀態,因此驅動程式不需要自己選取。)如果裝置必須能夠從其進入的任何低功率 Dx 狀態發出喚醒事件訊號,驅動程式可以呼叫 GetIdleWakeInfo 常式,以判斷裝置能夠發出喚醒事件的最低功耗裝置電源狀態。 若要取得這項資訊, GetIdleWakeInfo 會查詢基礎匯流排驅動程式和 ACPI 系統韌體。 根據 GetIdleWakeInfo 的資訊,驅動程式可以呼叫 SetD3ColdSupport 常式,以啟用或停用裝置轉換至 D3cold。
裝置可能不需要能夠發出來自 D3cold 喚醒事件的訊號。 裝置可能僅在由軟體發起的操作下,需要從 D3cold 轉換至 D0。 例如,如果驅動程式收到裝置的 I/O 要求,驅動程式可能需要喚醒裝置。 除了少數例外狀況,這類裝置的驅動程式可以讓裝置進入 D3cold。 可能的例外狀況是裝置需要大量時間才能從 D3cold 轉換至 D0。 例如,顯示裝置可能包含大量記憶體,需要在裝置進入 D3cold 之前儲存,並在裝置結束 D3cold 之後還原。
如需 D3cold ACPI 支援的詳細資訊,請參閱 D3cold 的韌體需求。