Compartir a través de


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
STATUS_INSUFFICIENT_RESOURCES
No había memoria suficiente.
STATUS_UNSUCCESSFUL
Error al intentar comunicarse con WMI.
STATUS_BUFFER_OVERFLOW
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)

Consulte también

EvtWmiProviderFunctionControl

WdfWmiInstanceCrear

WdfWmiProviderIsEnabled