다음을 통해 공유


ScsiPortWmiFireLogicalUnitEvent 함수(scsiwmi.h)

ScsiPortWmiFireLogicalUnitEvent 루틴은 이벤트 알림을 요청한 WMI 데이터 소비자에게 배달을 위해 논리 단위와 연결된 이벤트를 포트 드라이버로 보냅니다.

참고 SCSI 포트 드라이버 및 SCSI 미니포트 드라이버 모델은 나중에 변경되거나 사용할 수 없습니다. 대신 Storport 드라이버Storport 미니포트 드라이버 모델을 사용하는 것이 좋습니다.
 

구문

void ScsiPortWmiFireLogicalUnitEvent(
  [in] PVOID  HwDeviceExtension,
  [in] UCHAR  PathId,
  [in] UCHAR  TargetId,
  [in] UCHAR  Lun,
  [in] LPGUID Guid,
  [in] ULONG  InstanceIndex,
  [in] ULONG  EventDataSize,
  [in] PVOID  EventData
);

매개 변수

[in] HwDeviceExtension

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

[in] PathId

SCSI 버스를 식별합니다. SP_UNTAGGED HBA에서 제어하는 모든 버스를 나타냅니다.

[in] TargetId

지정된 버스의 대상 컨트롤러 또는 디바이스를 식별합니다. SP_UNTAGGED 버스의 모든 대상을 나타냅니다.

[in] Lun

지정된 대상 컨트롤러 또는 디바이스에 대한 논리 단위를 식별합니다. SP_UNTAGGED 지정된 버스의 지정된 대상 컨트롤러에 대한 모든 논리 단위를 나타냅니다.

[in] Guid

이벤트 블록을 나타내는 GUID에 대한 포인터입니다.

[in] InstanceIndex

이벤트 블록에 여러 인스턴스가 있는 경우 는 instance 인덱스를 지정합니다.

[in] EventDataSize

이벤트 데이터 버퍼의 시작 부분에 패드 바이트를 포함하지 않고 EventData의 데이터 바이트 수를 지정합니다. 이벤트에 대해 생성된 데이터가 없으면 EventDataSize 를 0으로 설정해야 합니다.

[in] EventData

미니포트 드라이버가 이벤트에 대해 생성한 데이터를 포함하는 미니포트 드라이버 할당 버퍼에 대한 포인터입니다. 버퍼는 적어도 이벤트 데이터의 크기와 버퍼의 시작 부분에 0x40 패드 바이트여야 합니다.

반환 값

없음

설명

미니포트 드라이버는 ScsiPortWmiFireLogicalUnitEvent 를 호출하여 어댑터 또는 논리 단위와 연결된 이벤트를 이벤트 알림을 요청한 모든 데이터 소비자에게 보냅니다.

미니포트 드라이버는 이전에 미니포트 드라이버의 HwScsiWmiFunctionControl 루틴에서 사용하도록 설정한 경우에만 이벤트를 보냅니다.

드라이버는 오프셋 0x40 EventData 가 가리키는 버퍼에 이벤트 데이터를 작성해야 합니다. 첫 번째 0x40 바이트는 SCSI WMI에서 사용됩니다. 이벤트와 함께 데이터가 다시 전달되지 않으면 EventData 의 길이가 바이트 0x40 합니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 scsiwmi.h(Miniport.h, Scsi.h 포함)

추가 정보

HwScsiWmiFunctionControl