StorPortStateChangeDetected 함수(storport.h)

LUN(논리 단위 번호), HBA(호스트 버스 어댑터) 포트 또는 대상 디바이스에 대한 상태 변경에 대해 Storport 포트 드라이버에 알린 것입니다.

구문

ULONG StorPortStateChangeDetected(
  [in]           PVOID            HwDeviceExtension,
  [in]           ULONG            ChangedEntity,
  [in]           PSTOR_ADDRESS    Address,
  [in]           ULONG            Attributes,
  [in, optional] PHW_STATE_CHANGE HwStateChange,
  [in, optional] PVOID            HwStateChangeContext
);

매개 변수

[in] HwDeviceExtension

하드웨어 디바이스 확장에 대한 포인터입니다. 포트 드라이버가 미니포트 드라이버를 대신하여 할당하고 초기화하는 HBA별 스토리지 영역입니다. 미니포트 드라이버는 일반적으로 HBA 상태 및 HBA에 대한 매핑된 액세스 범위와 같은 HBA 관련 정보를 이 확장에 저장합니다. 이 영역은 미니포트 드라이버가 StorPortInitialize를 호출한 직후 미니포트 드라이버에서 사용할 수 있습니다. 포트 드라이버는 디바이스를 제거할 때 이 메모리를 해제합니다.

[in] ChangedEntity

상태가 변경된 엔터티를 나타내는 플래그입니다. 이러한 값의 비트 OR 조합입니다.

의미
STATE_CHANGE_LUN
1(0x1)
LUN 상태가 변경되었습니다.
STATE_CHANGE_TARGET
2(0x2)
대상 상태가 변경되었습니다.
STATE_CHANGE_BUS
4(0x4)
버스 또는 포트 상태가 변경되었습니다.

[in] Address

상태가 변경된 엔터티의 주소입니다. HwStateChange의 콜백이 호출될 때까지 주소 값은 변경할 수 없습니다. 주소가 메모리에 할당된 경우 콜백 루틴에서 메모리를 해제해야 합니다.

[in] Attributes

엔터티와 연결된 특성입니다. 다음은 비트 OR 조합입니다.

의미
ATTRIBUTE_VM_PASSTHROUGH_LUN
LUN은 가상 머신 사용을 위해 예약되어 있습니다.

[in, optional] HwStateChange

미니포트에서 제공하는 콜백 루틴에 대한 포인터입니다. 있는 경우 드라이버가 이 상태 변경 알림 처리를 완료하면 Storport 드라이버가 이 루틴을 호출합니다.

[in, optional] HwStateChangeContext

HwStateChange에서 설정된 루틴을 호출할 때 포함되는 미니포트 제공 컨텍스트 값입니다.

반환 값

알림의 결과를 나타내는 상태 값입니다. 다음 값 중 하나일 수 있습니다.

반환 코드 설명
STOR_STATUS_SUCCESS
상태 변경 알림이 처리될 예정입니다.
STOR_STATUS_INVALID_PARAMETER
주소 형식 또는 엔터티 형식이 잘못되었습니다.
STOR_STATUS_UNSUCCESSFUL
사전 알림이 진행 중이며 예약할 수 없습니다.

설명

StorPortStateChangeDetected를 성공적으로 호출하면 변경된 엔터티가 다시 열거됩니다.

언제든지 하나의 상태 변경 요청만 활성화할 수 있습니다. 미니포트가 다른 StorPortStateChangeDetected 호출을 수행해야 하는 경우 HwStateChange 콜백을 제공하고 HwStateChange에 대한 콜백이 발생한 후 StorPortStateChangeDetected 대한 또 다른 호출을 수행해야 합니다. 미니포트가 여러 상태 변경을 동시에 나타내려는 경우 미니포트는 현재 상태 변경 내용을 모두 포함하는 변경된 엔터티가 ChangedEntity에 설정된 상태로 StorPortStateChangeDetected를 한 번 호출할 수 있습니다.

ChangedEntity에서 여러 플래그를 지정하는 경우 값이 더 큰 플래그가 더 작은 플래그보다 우선합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 이상 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 storport.h(Storport.h 포함)
IRQL 모두

추가 정보

HwStorStateChange