다음을 통해 공유


StorPortAsyncNotificationDetected 함수(storport.h)

스토리지 미니포트 드라이버는 StorPortAsyncNotificationDetected를 호출하여 Storport 드라이버에 변경 이벤트를 상태 스토리지 디바이스에 알립니다.

알림은 DISPATCH_LEVEL 이하 IRQL에서 지연된 처리를 위한 작업 항목으로 큐에 대기됩니다.

구문

ULONG StorPortAsyncNotificationDetected(
  [in] PVOID         HwDeviceExtension,
       PSTOR_ADDRESS Address,
       ULONGLONG     Flags
);

매개 변수

[in] HwDeviceExtension

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

Address

상태 변경 이벤트가 있는 스토리지 디바이스의 주소입니다.

Flags

Storport에 표시할 상태 알림입니다.

Flags 매개 변수에는 상태 알림의 비트 OR 조합이 포함되어 있습니다. 모든 상태 값은 단일 RAID_ASYNC_NOTIFY_SUPPORTED_FLAGS 값으로 설정할 수 있습니다.

의미
RAID_ASYNC_NOTIFY_FLAG_MEDIA_STATUS
미디어 변경이 발생했음을 Storport에 알립니다.
RAID_ASYNC_NOTIFY_FLAG_DEVICE_STATUS
Storport에 스토리지 디바이스의 기능 상태 변경되었음을 알립니다.
RAID_ASYNC_NOTIFY_FLAG_DEVICE_OPERATION
Storport에 스토리지 디바이스의 운영 역할이 변경되었음을 알립니다.

반환 값

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

반환 코드 설명
STOR_STATUS_SUCCESS
상태 변경 알림이 처리될 예정입니다.
STOR_STATUS_INVALID_PARAMETER
주소 유형이 잘못되었습니다.

또는

HwDeviceExtensionNULL입니다.

또는

플래그 에는 정의되지 않은 값이 포함됩니다.

STOR_STATUS_INVALID_DEVICE_REQUEST
주소에서 스토리지 디바이스 단위를 찾을 수 없습니다.

또는

스토리지 디바이스는 비동기 알림을 지원하지 않습니다.

STOR_STATUS_BUSY
사전 알림이 진행 중이며 예약할 수 없습니다.

설명

미니포트는 HwStorInterrupt 루틴에서 상태 이벤트를 감지하고 StorPortAsyncNotificationDetected를 호출하여 나중에 더 낮은 IRQL에서 상태 변경 알림을 큐에 대기하고 처리할 수 있습니다.

Storport에서 처리하면 필요한 시스템 응답 작업을 시작하기 위해 상태 이벤트 알림이 스토리지 클래스 드라이버에 전달됩니다.

Flags 매개 변수가 0이면 Storport는 스토리지 클래스 드라이버에 대한 알림의 모든 상태 값을 나타냅니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8
대상 플랫폼 유니버설
헤더 storport.h(Storport.h 포함)
IRQL 모두