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

标识给定总线上的目标控制器或设备 (es) ;SP_UNTAGGED指示总线上的所有目标。

[in] Lun

标识给定目标控制器或设备的逻辑单元;SP_UNTAGGED指示给定目标控制器的所有逻辑单元 (给定总线上的) (es) 。

[in] Guid

指向表示事件块的 GUID 的指针。

[in] InstanceIndex

如果事件块具有多个实例,则指定实例的索引。

[in] EventDataSize

指定 EventData 中的数据字节数,不包括事件数据缓冲区开头的板字节数。 如果未为事件生成任何数据,应将 EventDataSize 设置为零。

[in] EventData

指向微型端口驱动程序分配的缓冲区的指针,该缓冲区包含由微型端口驱动程序为事件生成的数据。 缓冲区必须至少是事件数据的大小加上缓冲区开头的0x40板字节。

返回值

备注

微型端口驱动程序调用 ScsiPortWmiFireLogicalUnitEvent ,将与适配器或逻辑单元关联的事件发送到已请求事件通知的所有数据使用者。

仅当微型端口驱动程序的 HwScsiWmiFunctionControl 例程之前已启用该事件时,微型端口驱动程序才会发送事件。

驱动程序应在偏移量0x40将事件数据写入 EventData 指向的缓冲区。 前0x40字节由 SCSI WMI 使用。 如果未随事件一起传递回任何数据,则 EventData 的长度应0x40字节。

要求

要求
目标平台 桌面
标头 scsiwmi.h (包括 Miniport.h、Scsi.h)

另请参阅

HwScsiWmiFunctionControl