EVT_ACX_FACTORY_CIRCUIT_POWER_DOWN回呼函式 (acxcircuit.h)
驅動程式會使用 EVT_ACX_FACTORY_CIRCUIT_POWER_DOWN 回呼,在 ACXFACTORYCIRCUIT 物件的關閉電源路徑中新增功能。
語法
EVT_ACX_FACTORY_CIRCUIT_POWER_DOWN EvtAcxFactoryCircuitPowerDown;
NTSTATUS EvtAcxFactoryCircuitPowerDown(
WDFDEVICE Device,
ACXFACTORYCIRCUIT Factory,
WDF_POWER_DEVICE_STATE TargetState
)
{...}
參數
Device
WDFDEVICE 物件 (描述於與 ACX 線路相關聯的 Framework 物件 摘要) 。
Factory
現有的線路處理站 ACXFACTORYCIRCUIT 物件。 如需 ACX 對象的詳細資訊,請參閱 ACX 物件的摘要。
TargetState
識別目標裝置電源狀態 的WDF_POWER_DEVICE_STATE列舉 。
傳回值
如果呼叫成功,則傳 STATUS_SUCCESS
回 。 否則,它會傳回適當的錯誤碼。 如需詳細資訊,請參閱 使用NTSTATUS值。
備註
若要註冊 EvtAcxFactoryCircuitPrepareHardware 回呼函式,驅動程式必須呼叫 AcxFactoryCircuitInitSetAcxCircuitPnpPowerCallbacks。
如果驅動程式已註冊 EvtCircuitPowerDown 回呼函式,ACX 架構會在每次驅動程式的裝置離開其運作 (D0) 狀態時呼叫函式。 發生下列其中一項時,裝置會離開 D0 狀態:
- 系統及其所有裝置即將離開其工作狀態,並進入低電源狀態。
- 如果裝置支援低電源閑置,裝置即將進入低電源狀態,因為裝置處於閑置狀態。
- 隨插即用 管理員嘗試轉散發系統的硬體資源。
- 使用者已指出,通常是透過應用程式的使用者介面,表示他想要移除裝置。
- 此架構也會在裝置意外移除之後呼叫 EvtFactoryCircuitPowerDown 回呼函式, (意外移除) 。
如需架構何時呼叫此回呼函式的詳細資訊,請參閱 PnP 和電源管理案例。
除非裝置遭到意外移除,否則 ACX 架構會在停用裝置中斷之後立即呼叫此回呼函式,但在裝置的電源從 D0 減少到 WDF 叫用相關裝置上的 EvtDeviceD0Exit 回呼之前。 TargetState 參數會識別裝置即將進入的裝置電源狀態。
EvtFactoryCircuitPowerDown 回呼函式必須執行 ACXFACTORYCIRCUT 硬體進入指定的低電源狀態之前所需的任何作業,例如將驅動程式稍後需要的任何資訊儲存到其 D0 電源狀態。
如果 TargetState 是 WdfPowerDeviceD3Final,您應該假設系統已關閉、相關聯的裝置即將移除,或資源重新平衡正在進行中。 如果您的驅動程式必須儲存資訊,它應該將它寫入磁碟或其他永久儲存媒體。
如需提供此回呼函式之驅動程式的詳細資訊,請參閱 支援函式驅動程式中的 PnP 和電源管理。
ACX 需求
最小 ACX 版本: 1.0
如需 ACX 版本的詳細資訊,請參閱 ACX 版本概觀。
規格需求
需求 | 值 |
---|---|
標頭 | acxcircuit.h |
IRQL | PASSIVE_LEVEL |