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
El 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 ningún dato de evento.
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 al intentar comunicarse con WMI. |
|
El búfer de datos del evento era demasiado grande. |
Este método también puede devolver otros valores de NTSTATUS.
Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.
Observaciones
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 un EvtWmiProviderFunctionControl función de devolución de llamada 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 necesaria del encabezado WMI.
Para obtener más información sobre el método WdfWmiInstanceFireEvent de, vea Compatibilidad con WMI en Framework-Based Controladores.
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 | Valor |
---|---|
de la plataforma de destino de | Universal |
versión mínima de KMDF | 1.0 |
encabezado de | wdfwmi.h (incluya Wdf.h) |
biblioteca de | 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) |