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
STATUS_INSUFFICIENT_RESOURCES
No había memoria suficiente.
STATUS_UNSUCCESSFUL
Error en el intento del marco de comunicación con WMI.
STATUS_BUFFER_OVERFLOW
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)

Consulte también

EvtWmiProviderFunctionControl

WdfWmiInstanceCreate

WdfWmiProviderIsEnabled