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
구성 요소 배열의 요소 수입니다 . 이 멤버를 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 어댑터를 나타내는 경우 어댑터IdleTimeoutInMS 필드가 적용되어야 했음을 나타냅니다. |
| 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) | 미니포트에 플랫폼 확장 플러그 인(PEP)의 P-State 지원이 필요하지 않음을 나타냅니다. 의심스러운 경우 이 플래그를 설정합니다. |
| 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
이 멤버는 하나 이상의 STOR_POFX_COMPONENT 요소 배열에서 첫 번째 요소입니다. 배열에 둘 이상의 요소가 포함된 경우 추가 요소는 STOR_POFX_DEVICE 구조 바로 뒤에 옵니다. 배열에는 디바이스의 각 구성 요소에 대해 하나의 요소가 포함됩니다. 현재 스토리지 디바이스에는 구성 요소가 하나만 있으므로 추가 구성 요소 구조가 필요하지 않습니다.
설명
Storport PoFx 지원을 위한 스토리지 어댑터를 등록하기 위해 미니포트 드라이버는 HwStorInitialize 루틴에서 StorPortEnablePassiveInitialization을 호출하고 HwStorPassiveInitializeRoutine을 구현합니다. 미니포트는 HwStorPassiveInitializeRoutine 내에서 StorPortInitializePoFxPower를 호출하여 어댑터 구성 요소에 대한 정보를 제공합니다.
Storport PoFx 지원을 위한 스토리지 단위를 등록하기 위해 미니포트 드라이버는 HwStorUnitControl 콜백 루틴을 구현하고 ScsiUnitPoFxPowerInfo 단위 제어 코드를 처리합니다. ScsiUnitPoFxPowerInfo 제어 코드를 처리할 때 미니포트는 장치 구성 요소에 대한 유휴 전원 관리를 사용하는 경우 StorPortInitializePoFxPower를 호출합니다.
구성 요소 배열 인덱스로 식별되는 스토리지 디바이스 의 구성 요소입니다 . Storage 디바이스에는 하나의 구성 요소만 있으므로 인덱스 0이 사용됩니다. StorPortPoFxActivateComponent 및 StorPortPoFxIdleComponent와 같은 루틴은 구성 요소의 배열 인덱스를 사용하여 구성 요소를 식별합니다.
요구 사항
| 지원되는 최소 클라이언트 | Windows 10 |
| 헤더 | storport.h |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기