Función WmiFireEvent (wmilib.h)

La rutina WmiFireEvent envía un evento a WMI para su entrega a los consumidores de datos que han solicitado la notificación del evento.

Sintaxis

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

Parámetros

[in] DeviceObject

Puntero al DEVICE_OBJECT del controlador.

[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. Si no se genera ningún dato para un evento, EventData debe ser cero.

[in, optional] EventData

Puntero a un búfer no paginado asignado por el controlador que contiene los datos generados por el controlador para el evento. Si no se genera ningún dato para un evento, EventData debe ser NULL. WMI libera el búfer sin intervención adicional del controlador.

Valor devuelto

WmiFireEvent propaga el estado devuelto por IoWmiWriteEvent o devuelve STATUS_INSUFFICIENT_RESOURCES si no pudo asignar memoria para el evento.

Comentarios

Un controlador llama a WmiFireEvent para enviar un evento a WMI para su entrega a todos los consumidores de datos que han solicitado la notificación del evento. Todos los punteros pasados a WmiFireEvent deben apuntar a memoria nopagable, como el grupo no paginado.

El controlador envía un evento solo si ha sido habilitado previamente por la rutina DpWmiFunctionControl del controlador, que llama a WMI para procesar una solicitud de IRP_MN_ENABLE_EVENT .

El controlador escribe los datos asociados al evento en el búfer en EventData. WMI rellena una estructura de WNODE_SINGLE_INSTANCE con los datos y llama a IoWmiWriteEvent para entregar el evento.

Para obtener más información sobre el seguimiento de eventos, vea Seguimiento de eventos WMI.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado wmilib.h (incluya Wmilib.h)
Library Wmilib.lib
IRQL <= DISPATCH_LEVEL

Consulte también

DpWmiFunctionControl

IRP_MN_ENABLE_EVENTS

WmiSystemControl