Compartilhar via


Função ScsiPortWmiFireLogicalUnitEvent (scsiwmi.h)

A rotina ScsiPortWmiFireLogicalUnitEvent envia um evento associado a uma unidade lógica para o driver de porta para entrega aos consumidores de dados WMI que solicitaram a notificação do evento.

Nota Os modelos de driver de porta SCSI e driver de miniporto SCSI podem ser alterados ou indisponíveis no futuro. Em vez disso, recomendamos usar os modelos de driver do Storport e do driver de miniporto storport .
 

Sintaxe

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

Ponteiro para a extensão do dispositivo de hardware. Essa é uma área de armazenamento por HBA que o driver de porta aloca e inicializa em nome do driver de miniport. Os drivers de miniporto geralmente armazenam informações específicas do HBA nessa extensão, como o estado do HBA e os intervalos de acesso mapeados do HBA. Essa área está disponível para o driver de miniporto no membro DeviceExtension-HwDeviceExtension> do objeto de dispositivo do HBA imediatamente após o driver de miniporto chamar ScsiPortInitialize. O driver de porta libera essa memória quando remove o dispositivo.

[in] PathId

Identifica o barramento SCSI; SP_UNTAGGED indica todos os ônibus controlados pelo HBA.

[in] TargetId

Identifica o controlador de destino ou o dispositivo no(es) bus(es); SP_UNTAGGED indica todos os destinos no ônibus.

[in] Lun

Identifica a unidade lógica para o controlador ou dispositivo de destino especificado; SP_UNTAGGED indica todas as unidades lógicas para os controladores de destino determinados nos barramentos especificados.

[in] Guid

Ponteiro para o GUID que representa o bloco de eventos.

[in] InstanceIndex

Se o bloco de eventos tiver várias instâncias, especificará o índice da instância.

[in] EventDataSize

Especifica o número de bytes de dados em EventData, não incluindo bytes de teclado no início do buffer de dados do evento. Se nenhum dado for gerado para um evento, EventDataSize deverá ser definido como zero.

[in] EventData

Ponteiro para um buffer alocado pelo driver de miniporto que contém dados gerados pelo driver de miniporto para o evento. O buffer deve ter pelo menos o tamanho dos dados de evento mais 0x40 bytes de teclado no início do buffer.

Retornar valor

Nenhum

Comentários

Um driver de miniporto chama ScsiPortWmiFireLogicalUnitEvent para enviar um evento associado a um adaptador ou unidade lógica para todos os consumidores de dados que solicitaram a notificação do evento.

O driver de miniporto envia um evento somente se ele tiver sido habilitado anteriormente pela rotina HwScsiWmiFunctionControl do driver de miniport.

O driver deve gravar dados de evento no buffer apontado por EventData no deslocamento 0x40. Os primeiros bytes 0x40 são usados pelo SCSI WMI. Se nenhum dado for passado de volta com o evento, EventData deverá ser 0x40 bytes de comprimento.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho scsiwmi.h (inclua Miniport.h, Scsi.h)

Confira também

HwScsiWmiFunctionControl