Función ScsiPortWmiFireLogicalUnitEvent (scsiwmi.h)

La rutina ScsiPortWmiFireLogicalUnitEvent envía un evento asociado a una unidad lógica al controlador de puerto para su entrega a los consumidores de datos WMI que han solicitado la notificación del evento.

Nota Los modelos de controlador de puerto SCSI y controlador de miniport SCSI pueden modificarse o no estar disponibles en el futuro. En su lugar, se recomienda usar el del controlador storport de y modelos de controlador de storport.
 

Sintaxis

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
);

Parámetros

[in] HwDeviceExtension

Puntero a la extensión de dispositivo de hardware. Se trata de un área de almacenamiento por HBA que el controlador de puerto asigna e inicializa en nombre del controlador de miniport. Los controladores de miniportar suelen almacenar información específica de HBA en esta extensión, como el estado del HBA y los intervalos de acceso asignados del HBA. Esta área está disponible para el controlador de miniport en el DeviceExtension->HwDeviceExtension miembro del objeto de dispositivo del HBA inmediatamente después de que el controlador de miniporte llame a ScsiPortInitialize. El controlador de puerto libera esta memoria cuando quita el dispositivo.

[in] PathId

Identifica el bus SCSI; SP_UNTAGGED indica todos los autobuses controlados por el HBA.

[in] TargetId

Identifica el controlador o dispositivo de destino en los buses especificados; SP_UNTAGGED indica todos los destinos del autobús.

[in] Lun

Identifica la unidad lógica para el dispositivo o el controlador de destino especificados; SP_UNTAGGED indica todas las unidades lógicas de los controladores de destino especificados en los buses especificados.

[in] Guid

Puntero al GUID que representa el bloque de eventos.

[in] InstanceIndex

Si el bloque de eventos tiene varias instancias, especifica el índice de la instancia.

[in] EventDataSize

Especifica el número de bytes de datos en EventData, sin incluir bytes de relleno al principio del búfer de datos del evento. Si no se genera ningún dato para un evento, EventDataSize debe establecerse en cero.

[in] EventData

Puntero a un búfer asignado por el controlador de miniporte que contiene los datos generados por el controlador de miniport para el evento. El búfer debe tener al menos el tamaño de los datos del evento más 0x40 bytes del panel al principio del búfer.

Valor devuelto

Ninguno

Observaciones

Un controlador de miniporta llama a ScsiPortWmiFireLogicalUnitEvent para enviar un evento asociado a un adaptador o una unidad lógica a todos los consumidores de datos que han solicitado la notificación del evento.

El controlador de minipuerto envía un evento solo si el controlador de miniporte lo ha habilitado previamente rutina de HwScsiWmiFunctionControl.

El controlador debe escribir datos de eventos en el búfer al que apunta eventData en el 0x40 de desplazamiento. WMI SCSI usa los primeros bytes 0x40. Si no se devuelve ningún dato con el evento, EventData debe ser 0x40 bytes de longitud.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de scsiwmi.h (include Miniport.h, Scsi.h)

Consulte también

HwScsiWmiFunctionControl