Поделиться через


Функция 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.
целевая платформа Всеобщий
Header wmilib.h (include Wmilib.h)
Library Wmilib.lib
IRQL <= DISPATCH_LEVEL

См. также

DpWmiFunctionControl

IRP_MN_ENABLE_EVENTS

WmiSystemControl