Função WmiFireEvent (wmilib.h)

A rotina do WmiFireEvent envia um evento ao WMI para entrega aos consumidores de dados que solicitaram a notificação do evento.

Sintaxe

NTSTATUS WmiFireEvent(
  [in]           PDEVICE_OBJECT DeviceObject,
  [in]           LPCGUID        Guid,
  [in]           ULONG          InstanceIndex,
  [in]           ULONG          EventDataSize,
  [in, optional] PVOID          EventData
);

Parâmetros

[in] DeviceObject

Um ponteiro para o DEVICE_OBJECT do driver.

[in] Guid

Um 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 no EventData. Se nenhum dado for gerado para um evento, EventData deverá ser zero.

[in, optional] EventData

Um ponteiro para um buffer nãopagado alocado pelo driver que contém dados gerados pelo driver para o evento. Se nenhum dado for gerado para um evento, EventData deverá ser NULL. O WMI libera o buffer sem intervenção adicional do driver.

Valor retornado

O WmiFireEvent propaga o status retornado por IoWmiWriteEvent ou retorna STATUS_INSUFFICIENT_RESOURCES se não puder alocar memória para o evento.

Comentários

Um driver chama o WmiFireEvent para enviar um evento ao WMI para entrega a todos os consumidores de dados que solicitaram a notificação do evento. Todos os ponteiros passados para wmiFireEvent devem apontar para memória nãopagável, como pool nãopagado.

O driver envia um evento somente se ele tiver sido habilitado anteriormente pela rotina DpWmiFunctionControl do driver, que o WMI chama para processar uma solicitação IRP_MN_ENABLE_EVENT .

O driver grava todos os dados associados ao evento no buffer no EventData. O WMI preenche uma estrutura WNODE_SINGLE_INSTANCE com os dados e chama IoWmiWriteEvent para entregar o evento.

Para obter mais informações sobre o rastreamento de eventos, consulte Rastreamento de Eventos do WMI.

Requisitos

   
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wmilib.h (include Wmilib.h)
Biblioteca Wmilib.lib
IRQL <= DISPATCH_LEVEL

Confira também

DpWmiFunctionControl

IRP_MN_ENABLE_EVENTS

WmiSystemControl