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 的索引。 StorPortPoFxActivateComponentStorPortPoFxIdleComponent 等例程會使用元件的數位索引來識別元件。

規格需求

需求
最低支援的用戶端 Windows 10
標頭 storport.h

另請參閱

STOR_POFX_COMPONENT

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent

StorPortPoFxIdleComponent