Función WdfWmiInstanceFireEvent (wdfwmi.h)
[Solo se aplica a KMDF]
El método WdfWmiInstanceFireEvent envía un evento WMI a los clientes WMI que se han registrado para recibir notificaciones de eventos.
Sintaxis
NTSTATUS WdfWmiInstanceFireEvent(
[in] WDFWMIINSTANCE WmiInstance,
[in, optional] ULONG EventDataSize,
[in, optional] PVOID EventData
);
Parámetros
[in] WmiInstance
Identificador de un objeto de instancia de WMI que el controlador obtuvo de una llamada anterior a WdfWmiInstanceCreate.
[in, optional] EventDataSize
Tamaño, en bytes, de los datos de evento a los que Apunta EventData .
[in, optional] EventData
Puntero a los datos del evento o NULL si no hay datos de eventos.
Valor devuelto
WdfWmiInstanceFireEvent devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, este método podría devolver uno de los siguientes valores:
Código devuelto | Descripción |
---|---|
|
No había memoria suficiente. |
|
Error en el intento del marco de comunicación con WMI. |
|
El búfer de datos de eventos era demasiado grande. |
Este método también podría devolver otros valores NTSTATUS.
Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.
Comentarios
El controlador debe llamar a WdfWmiInstanceFireEvent solo si un cliente WMI se ha registrado para la notificación de eventos. El controlador puede determinar si debe llamar a WdfWmiInstanceFireEvent proporcionando una función de devolución de llamada EvtWmiProviderFunctionControl o llamando a WdfWmiProviderIsEnabled.
El controlador debe colocar sus datos específicos del evento, si los hay, en el búfer al que apunta el parámetro EventData . El marco agrega toda la información de encabezado WMI necesaria.
Para obtener más información sobre el método WdfWmiInstanceFireEvent , vea Compatibilidad con WMI en controladores de Framework-Based.
Ejemplos
En el ejemplo de código siguiente se envía un evento WMI a los clientes WMI.
MY_WMI_EVENT_DATA eventData;
NTSTATUS status;
status = WdfWmiInstanceFireEvent(
WmiInstance,
sizeof(eventData),
(PVOID)&eventData
);
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.0 |
Encabezado | wdfwmi.h (incluya Wdf.h) |
Library | Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos). |
IRQL | <= APC_LEVEL |
Reglas de cumplimiento de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |