Функция 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. Эта область доступна драйверу мини-порта в элементе DeviceExtension-HwDeviceExtension> объекта устройства HBA сразу после вызова драйвером мини-порта ScsiPortInitialize. Драйвер порта освобождает эту память при удалении устройства.

[in] PathId

Определяет шину SCSI; SP_UNTAGGED указывает, что все автобусы контролируются HBA.

[in] TargetId

Идентифицирует целевой контроллер или устройство в заданной шине; SP_UNTAGGED указывает все целевые объекты в автобусе.

[in] Lun

Определяет логическую единицу для заданного целевого контроллера или устройства; SP_UNTAGGED указывает все логические единицы для заданных целевых контроллеров в заданной шине.

[in] Guid

Указатель на GUID, представляющий блок событий.

[in] InstanceIndex

Если блок событий содержит несколько экземпляров, указывает индекс экземпляра.

[in] EventDataSize

Указывает количество байтов данных в EventData, не включая байты панели в начале буфера данных событий. Если данные для события не создаются, параметру EventDataSize следует задать нулевое значение.

[in] EventData

Указатель на буфер, выделенный драйвером мини-порта, содержащий данные, созданные драйвером мини-порта для события. Буфер должен быть не ниже размера данных события плюс 0x40 байтов панели в начале буфера.

Возвращаемое значение

None

Remarks

Драйвер мини-порта вызывает ScsiPortWmiFireLogicalUnitEvent для отправки события, связанного с адаптером или логической единицей, всем потребителям данных, запрашивающим уведомление о событии.

Драйвер мини-порта отправляет событие, только если оно ранее было включено подпрограммой HwScsiWmiFunctionControl драйвера мини-порта.

Драйвер должен записывать данные о событиях в буфер, на который указывает EventData при смещении 0x40. Первые 0x40 байтов используются WMI SCSI. Если данные не передаются обратно с событием, то eventData должен иметь длину 0x40 байтов.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть scsiwmi.h (включая Miniport.h, Scsi.h)

См. также раздел

HwScsiWmiFunctionControl