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 |