Функция WmiFireEvent (wmilib.h)

Подпрограмма WmiFireEvent отправляет событие в WMI для доставки потребителям данных, запрашивающим уведомление о событии.

Синтаксис

NTSTATUS WmiFireEvent(
  [in]           PDEVICE_OBJECT DeviceObject,
  [in]           LPCGUID        Guid,
  [in]           ULONG          InstanceIndex,
  [in]           ULONG          EventDataSize,
  [in, optional] PVOID          EventData
);

Параметры

[in] DeviceObject

Указатель на DEVICE_OBJECT драйвера.

[in] Guid

Указатель на GUID, представляющий блок событий.

[in] InstanceIndex

Если блок событий содержит несколько экземпляров, указывает индекс экземпляра.

[in] EventDataSize

Указывает количество байтов данных в EventData. Если данные для события не создаются, eventData должно быть равно нулю.

[in, optional] EventData

Указатель на выделенный драйвером непагированный буфер, содержащий данные, созданные драйвером для события. Если данные для события не создаются, eventData должен иметь значение NULL. WMI освобождает буфер без дальнейшего вмешательства драйвера.

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

WmiFireEvent распространяет состояние, возвращаемое IoWmiWriteEvent, или возвращает STATUS_INSUFFICIENT_RESOURCES, если не удалось выделить память для события.

Комментарии

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

Драйвер отправляет событие, только если оно было ранее включено подпрограммой DpWmiFunctionControl драйвера, которая вызывается WMI для обработки запроса IRP_MN_ENABLE_EVENT .

Драйвер записывает все данные, связанные с событием, в буфер eventData. WMI заполняет структуру WNODE_SINGLE_INSTANCE данными и вызывает IoWmiWriteEvent для доставки события.

Дополнительные сведения о трассировке событий см. в разделе Трассировка событий WMI.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Универсальное
Верхняя часть wmilib.h (включая Wmilib.h)
Библиотека Wmilib.lib
IRQL <= DISPATCH_LEVEL

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

DpWmiFunctionControl

IRP_MN_ENABLE_EVENTS

WmiSystemControl