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 조합입니다.
값 | 의미 |
---|---|
|
LUN 상태가 변경되었습니다. |
|
대상 상태가 변경되었습니다. |
|
버스 또는 포트 상태가 변경되었습니다. |
[in] Address
상태가 변경된 엔터티의 주소입니다. HwStateChange의 콜백이 호출될 때까지 주소 값은 변경할 수 없습니다. 주소가 메모리에 할당된 경우 콜백 루틴에서 메모리를 해제해야 합니다.
[in] Attributes
엔터티와 연결된 특성입니다. 다음은 비트 OR 조합입니다.
값 | 의미 |
---|---|
|
LUN은 가상 머신 사용을 위해 예약되어 있습니다. |
[in, optional] HwStateChange
미니포트에서 제공하는 콜백 루틴에 대한 포인터입니다. 있는 경우 드라이버가 이 상태 변경 알림 처리를 완료하면 Storport 드라이버가 이 루틴을 호출합니다.
[in, optional] HwStateChangeContext
HwStateChange에서 설정된 루틴을 호출할 때 포함되는 미니포트 제공 컨텍스트 값입니다.
반환 값
알림의 결과를 나타내는 상태 값입니다. 다음 값 중 하나일 수 있습니다.
반환 코드 | 설명 |
---|---|
|
상태 변경 알림이 처리될 예정입니다. |
|
주소 형식 또는 엔터티 형식이 잘못되었습니다. |
|
사전 알림이 진행 중이며 예약할 수 없습니다. |
설명
StorPortStateChangeDetected를 성공적으로 호출하면 변경된 엔터티가 다시 열거됩니다.
언제든지 하나의 상태 변경 요청만 활성화할 수 있습니다. 미니포트가 다른 StorPortStateChangeDetected 호출을 수행해야 하는 경우 HwStateChange 콜백을 제공하고 HwStateChange에 대한 콜백이 발생한 후 StorPortStateChangeDetected에 대한 또 다른 호출을 수행해야 합니다. 미니포트가 여러 상태 변경을 동시에 나타내려는 경우 미니포트는 현재 상태 변경 내용을 모두 포함하는 변경된 엔터티가 ChangedEntity에 설정된 상태로 StorPortStateChangeDetected를 한 번 호출할 수 있습니다.
ChangedEntity에서 여러 플래그를 지정하는 경우 값이 더 큰 플래그가 더 작은 플래그보다 우선합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 이상 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | storport.h(Storport.h 포함) |
IRQL | 모두 |