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 또 다른 호출을 수행해야 합니다. 미니포트에서 여러 상태 변경을 동시에 나타내려는 경우 미니포트는 StorPortStateChangeDetected 한 번 호출할 수 있으며, 변경된 엔터티는 현재 상태 변경을 모두 포함하는 ChangedEntity 설정됩니다.
ChangedEntity여러 플래그를 지정하면 값이 더 큰 플래그가 더 작은 플래그보다 우선합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 이상 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | 보편적 |
헤더 | storport.h(Storport.h 포함) |
IRQL | 어떤 |