STOR_POFX_COMPONENT 구조체(storport.h)

STOR_POFX_COMPONENT 구조는 스토리지 디바이스 구성 요소의 전원 상태 특성을 설명합니다. STOR_POFX_COMPONENT_V2 구조는 추가 전원 상태 제어를 제공합니다.

구문

typedef struct _STOR_POFX_COMPONENT {
  ULONG                          Version;
  ULONG                          Size;
  ULONG                          FStateCount;
  ULONG                          DeepestWakeableFState;
  GUID                           Id;
  STOR_POFX_COMPONENT_IDLE_STATE FStates[ANYSIZE_ARRAY];
} STOR_POFX_COMPONENT, *PSTOR_POFX_COMPONENT;

멤버

Version

이 구조체의 버전 번호입니다. 이 멤버를 STOR_POFX_DEVICE_VERSION_V1 설정합니다.

Size

이 구조체의 크기입니다. 이 값을 STOR_POFX_COMPONENT_SIZE 설정합니다.

FStateCount

FStates 멤버가 가리키는 배열의 요소 수입니다. 또한 이 멤버는 구성 요소가 지원하는 기능 전원 상태(F-상태)의 수를 지정합니다. 구성 요소는 하나 이상의 F-상태(F0)를 지원해야 합니다.

DeepestWakeableFState

구성 요소가 절전 모드를 해제할 수 있는 가장 깊은 F 상태의 인덱스입니다. F0의 경우 0, F1의 경우 1을 지정합니다. 이 인덱스가 FStateCount보다 작아야 합니다.

Id

디바이스의 다른 구성 요소와 관련하여 이 구성 요소를 고유하게 식별하는 구성 요소 ID입니다. PoFx(전원 관리 프레임워크)에 동일한 디바이스의 다른 유사한 구성 요소와 이 구성 요소를 구분하기 위해 구성 요소 ID가 필요한 경우 드라이버는 이 멤버에 대해 0이 아닌 값을 지정해야 합니다. Storport에서 지원하는 구성 요소 ID는 STORPORT_POFX_ADAPTER_GUID(어댑터 식별) 및 STORPORT_POFX_LUN_GUID(단위 식별)입니다.

FStates[ANYSIZE_ARRAY]

STOR_POFX_COMPONENT_IDLE_STATE 구조체의 배열입니다. 이 배열의 길이는 FStateCount 멤버에 의해 지정됩니다. 각 배열 요소는 구성 요소에서 지원하는 F 상태의 특성을 지정합니다. 요소 0은 F0을 설명하고, 요소 1은 F1을 설명하는 등입니다. 둘 이상의 유휴 상태 구조가 필요한 경우 추가 구조체는 STOR_ POFX_COMPONENT 구조체의 끝에 할당되고 FStateCount 는 ANYSIZE_ARRAY 값과 추가 구조의 개수인 1로 설정됩니다.

설명

미니포트 드라이버가 Storport 전원 관리 프레임워크에 디바이스를 등록하는 경우 미니포트 드라이버는 등록 정보를 포함하는 STOR_POFX_DEVICE 구조를 제공합니다. 이 구조체에는 STOR_ POFX_COMPONENT 구조체의 배열이 포함되어 있습니다. 이 배열의 요소는 디바이스에 있는 개별 구성 요소의 전원 특성을 설명합니다. 이러한 구성 요소의 전원 설정은 이 배열의 정보를 기반으로 관리됩니다.

ID 멤버에는 구성 요소를 고유하게 식별하는 구성 요소 ID가 포함되어 있습니다. 구성 요소 ID는 StorPortPoFxActivateComponent 와 같은 루틴이 등록된 디바이스에서 구성 요소를 식별하는 데 사용하는 구성 요소 인덱스와 동일하지 않습니다. 구성 요소 인덱스는 디바이스 드라이버가 디바이스를 등록하는 데 사용한 STOR_POFX_DEVICE 구조의 Components 배열에 대한 인덱스입니다. Components 배열에 N 요소가 포함된 경우 구성 요소 인덱스는 0~N-1 범위의 정수 값입니다. 반면 구성 요소 ID는 GUID 값입니다.

단일 어댑터 디바이스 구성 요소의 ID는 storport.h 에서 STORPORT_POFX_ADAPTER_GUID 정의됩니다. 단일 단위 디바이스 구성 요소의 ID는 STORPORT_POFX_LUN_GUID. Id 멤버에서 어댑터 구성 요소 또는 단위 구성 요소를 설명할 때 이러한 식별자를 사용합니다.

F 상태 요구 사항은 다음과 같습니다.

  • 어댑터 디바이스 구성 요소의 경우 미니포트는 어댑터에 대해 단일 구성 요소와 최대 8개의 F 상태를 지정해야 합니다. StorPortInitializePoFxPower 는 미니포트의 수동 초기화 루틴 컨텍스트 내에서만 미니포트에서 호출해야 합니다.
  • 단위 디바이스 구성 요소의 경우 미니포트는 단위에 대한 단일 구성 요소를 지정해야 하며 최대 두 개의 F 상태를 지정할 수 있습니다. 단위 디바이스는 F0 상태를 지정해야 하며 필요에 따라 하나의 추가 F 상태를 가질 수 있습니다. StorPortInitializePoFxPower 는 미니포트의 ScsiUnitPoFxPowerInfo 단위 컨트롤 컨텍스트 내에서만 미니포트에서 호출해야 합니다.

단위 디바이스 구성 요소의 경우 FStates 배열에 추가 F 상태가 포함된 경우 크기 멤버는 STOR_POFX_COMPONENT_SIZE 설정된 상태로 유지되며 추가 STOR_POFX_COMPONENT_IDLE_STATE 구조체의 크기는 포함되지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8
머리글 storport.h

추가 정보

HW_UNIT_CONTROL

STOR_POFX_COMPONENT_V2

STOR_POFX_COMPONENT_IDLE_STATE

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent