다음을 통해 공유


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

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

[in] EventDataSize

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

[in] EventData

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

반환 값

없음

발언

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

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

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

요구 사항

요구
대상 플랫폼 바탕 화면
헤더 scsiwmi.h(Miniport.h, Scsi.h 포함)

참고 항목

HwScsiWmiFunctionControl