ScsiPortWmiFireLogicalUnitEvent 함수(scsiwmi.h)
ScsiPortWmiFireLogicalUnitEvent 루틴은 이벤트 알림을 요청한 WMI 데이터 소비자에게 배달을 위해 논리 단위와 연결된 이벤트를 포트 드라이버로 보냅니다.
구문
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 포함) |