Compartir a través de


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 del controlador de puerto SCSI y del controlador de miniporte SCSI pueden modificarse o no estar disponibles en el futuro. En su lugar, se recomienda usar el controlador Storport y los modelos de controlador de miniport 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 minipuerto. Los controladores de minipuerto 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 miembro DeviceExtension-HwDeviceExtension> 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 de destino o el dispositivo en el bus(es) determinado); SP_UNTAGGED indica todos los destinos del bus.

[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, no incluidos los bytes del panel al principio del búfer de datos de eventos. 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 minipuerto 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

None

Observaciones

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

El controlador de minipuerto envía un evento solo si ha sido habilitado previamente por la rutina HwScsiWmiFunctionControl del controlador de miniporte.

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 0x40 bytes. Si no se devuelve ningún dato con el evento, EventData debe tener 0x40 bytes de longitud.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado scsiwmi.h (incluya Miniport.h, Scsi.h)

Consulte también

HwScsiWmiFunctionControl