STOR_POFX_DEVICE_V3 結構 (storport.h)
STOR_POFX_DEVICE_V3 結構描述存儲設備對電源管理架構的電源屬性, (PoFx) 。 這個結構類似於 STOR_POFX_DEVICE, 但可讓呼叫端指定閑置逾時值。
語法
typedef struct _STOR_POFX_DEVICE_V3 {
ULONG Version;
ULONG Size;
ULONG ComponentCount;
ULONG Flags;
union {
ULONG UnitMinIdleTimeoutInMS;
ULONG AdapterIdleTimeoutInMS;
};
ULONG MinimumPowerCyclePeriodInMS;
STOR_POFX_COMPONENT Components[ANYSIZE_ARRAY];
} STOR_POFX_DEVICE_V3, *PSTOR_POFX_DEVICE_V3;
成員
Version
這個結構的版本號碼。 將此成員設定為 STOR_POFX_DEVICE_VERSION_V3。
Size
此結構的大小。 將此值設定為 STOR_POFX_DEVICE_V3_SIZE。
ComponentCount
Components 陣列中的項目數目。 將此成員設定為 1。 目前,記憶體配接器或邏輯單元只支援單一元件。
Flags
裝置電源狀態功能旗標。 迷你埠會設定一或多個 PoFx 裝置旗標,以啟用或停用電源狀態功能。 旗標 是下列專案的位 OR 組合。
旗標值 | 意義 |
---|---|
STOR_POFX_DEVICE_FLAG_NO_D0 (0x01) | 要求電源 IRP 不會傳送至適配卡或單位的裝置物件。 |
STOR_POFX_DEVICE_FLAG_NO_D3 (0x02) | 要求關閉電源 IRP 不會傳送至適配卡或單位的裝置物件。 |
STOR_POFX_DEVICE_FLAG_ENABLE_D3_COLD (0x04) | 可讓 Storport 在支援配接器時設定 D3 冷狀態。 此旗標僅適用於配接器。 |
STOR_POFX_DEVICE_FLAG_NO_DUMP_ACTIVE (0x08) | 指出裝置是否可在閑置時進行傾印。 如果裝置進入閑置狀態或關閉電源,迷你埠就無法讓儲存裝置處於傾印模式。 |
STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT (0x10) | 如果 STOR_POFX_DEVICE_V3 代表單位,此旗標表示應接受 UnitMinIdleTimeoutInMS 字段。 如果 STOR_POFX_DEVICE_V3 代表配接器,這表示應該接受 AdapterIdleTimeoutInMS 字段。 |
STOR_POFX_DEVICE_FLAG_ADAPTIVE_D3_IDLE_TIMEOUT (0x20) | 指出 Storport 應該動態調整 D3 閑置逾時,讓裝置在必要時可以積極進入 D3。 只有在使用 STOR_POFX_DEVICE_V3 時,這才有效。 |
STOR_POFX_DEVICE_FLAG_NO_UNIT_REGISTRATION (0x40) | 指定此配接器所公開的單位都不應該註冊給運行時間電源管理。 這隻適用於代表配接器的 STOR_POFX_DEVICE 結構。 |
STOR_POFX_DEVICE_FLAG_PERF_STATE_PEP_OPTIONAL (0x80) | 表示迷你埠不需要平臺擴充功能外掛程式的 P 狀態支援, (PEP) 。 不確定時,請設定此旗標。 |
STOR_POFX_DEVICE_FLAG_NO_IDLE_DEBOUNCE (0x100) | 檢查當裝置處於較低電源狀態時,迷你埠的傾印版本在裝置上電源的能力。 |
STOR_POFX_DEVICE_FLAG_DUMP_ALWAYS_POWER_ON (0x200) | 迷你埠希望傾印堆疊嘗試開啟裝置電源。 |
STOR_POFX_DEVICE_FLAG_DISABLE_INTERRUPTS_ON_D3 (0x400) | 迷你埠希望 Storport 在 Dx 轉換上停用/啟用中斷。 |
STOR_POFX_DEVICE_FLAG_ADAPTER_D3_WAKE (0x800) | 迷你埠 isopt-in 配接器 D3 喚醒支援。 |
STOR_POFX_DEVICE_FLAG_GET_PERF_STATE_FROM_PEP (0x1000) | 迷你埠需要 PEP 的 P 狀態。 |
UnitMinIdleTimeoutInMS
單位的最小閑置時間,以毫秒為單位。 只有在 旗標中設定STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT時,這個值才有效。
AdapterIdleTimeoutInMS
配接器閑置逾時值以毫秒為單位。 只有在 旗標中設定STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT時,這個值才有效。
MinimumPowerCyclePeriodInMS
指出裝置不應 (在 D0 -> D3 - D0) > 超過指定期間,以毫秒為單位迴圈。 只有在設定STOR_POFX_DEVICE_FLAG_ADAPTIVE_D3_IDLE_TIMEOUT旗標時,這個成員才有效。
Components[ANYSIZE_ARRAY]
這個成員是一或多個 STOR_POFX_COMPONENT 元素陣列中的第一個專案。 如果陣列包含多個元素,則其他元素會緊接在 STOR_POFX_DEVICE 結構之後。 數位包含裝置中每個元件的一個專案。 目前,記憶體裝置只有一個元件,因此不需要額外的元件結構。
備註
若要註冊 Storport PoFx 支援的儲存適配卡,迷你埠驅動程式會在其 HwStorInitialize 例程中呼叫 StorPortEnablePassiveInitialization,並實作 HwStorPassiveInitializeRoutine。 迷你埠會在其 HwStorPassiveInitializeRoutine 內呼叫 StorPortInitializePoFxPower,以提供適配卡元件的相關信息。
若要註冊 Storport PoFx 支援的儲存單位,迷你埠驅動程式會實作 HwStorUnitControl 回呼例程,並提供 ScsiUnitPoFxPowerInfo 單元控制程式代碼的處理。 處理 ScsiUnitPoFxPowerInfo 控件程式代碼時,迷你埠會在啟用單元元件的閑置電源管理時呼叫 StorPortInitializePoFxPower 。
其 Components 陣列索引所識別之儲存設備的 元件 。 存儲設備只有一個元件,因此會使用 0 的索引。 StorPortPoFxActivateComponent 和 StorPortPoFxIdleComponent 等例程會使用元件的數位索引來識別元件。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 |
標頭 | storport.h |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應