Função ScsiPortWmiFireLogicalUnitEvent (scsiwmi.h)
A rotina de 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.
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 miniporto. 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 DeviceExtension->HwDeviceExtension membro 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 determinado barramento(es); SP_UNTAGGED indica todos os destinos no ônibus.
[in] Lun
Identifica a unidade lógica para o determinado controlador de destino ou dispositivo; SP_UNTAGGED indica todas as unidades lógicas para os controladores de destino determinados nos ônibus(es) 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, especifica o índice da instância.
[in] EventDataSize
Especifica o número de bytes de dados em EventData, não incluindo bytes de pad 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 miniport contendo 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 pad no início do buffer.
Valor de retorno
Nenhum
Observações
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 de HwScsiWmiFunctionControl do driver de miniport.
O driver deve gravar dados de evento no buffer apontado por EventData em 0x40 de deslocamento. Os primeiros 0x40 bytes são usados pelo SCSI WMI. Se nenhum dado for passado novamente com o evento, EventData deverá ter 0x40 bytes de comprimento.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | scsiwmi.h (inclua Miniport.h, Scsi.h) |