Функция WdfWmiInstanceFireEvent (wdfwmi.h)

[Относится только к KMDF]

Метод WdfWmiInstanceFireEvent отправляет событие WMI клиентам WMI, зарегистрированным для получения уведомления о событии.

Синтаксис

NTSTATUS WdfWmiInstanceFireEvent(
  [in]           WDFWMIINSTANCE WmiInstance,
  [in, optional] ULONG          EventDataSize,
  [in, optional] PVOID          EventData
);

Параметры

[in] WmiInstance

Дескриптор объекта экземпляра WMI, полученный драйвером при предыдущем вызове WdfWmiInstanceCreate.

[in, optional] EventDataSize

Размер (в байтах) данных события, на которые указывает EventData .

[in, optional] EventData

Указатель на данные события или значение NULL , если данные события отсутствуют.

Возвращаемое значение

WdfWmiInstanceFireEvent возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае этот метод может возвращать одно из следующих значений:

Код возврата Описание
STATUS_INSUFFICIENT_RESOURCES
Недостаточно памяти.
STATUS_UNSUCCESSFUL
Попытка платформы связаться с инструментарием WMI завершилась сбоем.
STATUS_BUFFER_OVERFLOW
Буфер данных событий был слишком велик.
 

Этот метод также может возвращать другие значения NTSTATUS.

Ошибка проверка возникает, если драйвер предоставляет недопустимый дескриптор объекта.

Комментарии

Драйвер должен вызывать WdfWmiInstanceFireEvent , только если клиент WMI зарегистрирован для уведомления о событии. Драйвер может определить, следует ли вызывать WdfWmiInstanceFireEvent , предоставив функцию обратного вызова EvtWmiProviderFunctionControl или вызвав WdfWmiProviderIsEnabled.

Драйвер должен поместить свои данные, относящиеся к событиям, если таковые есть, в буфер, на который указывает параметр EventData . Платформа добавляет все необходимые сведения о заголовке WMI.

Дополнительные сведения о методе WdfWmiInstanceFireEvent см. в разделе Поддержка WMI в Framework-Based Drivers.

Примеры

В следующем примере кода событие WMI отправляется клиентам WMI.

MY_WMI_EVENT_DATA eventData;
NTSTATUS  status;

status = WdfWmiInstanceFireEvent(
                                 WmiInstance,
                                 sizeof(eventData),
                                 (PVOID)&eventData
                                 );

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Верхняя часть wdfwmi.h (включая Wdf.h)
Библиотека Wdf01000.sys (см. раздел Управление версиями библиотеки Платформы).
IRQL <= APC_LEVEL
Правила соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

См. также раздел

EvtWmiProviderFunctionControl

WdfWmiInstanceCreate

WdfWmiProviderIsEnabled