WmiFireEvent-Funktion (wmilib.h)

Die WmiFireEvent-Routine sendet ein Ereignis an WMI, um Datenkunden zu liefern, die eine Benachrichtigung über das Ereignis angefordert haben.

Syntax

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

Parameter

[in] DeviceObject

Ein Zeiger auf die DEVICE_OBJECT des Treibers.

[in] Guid

Ein Zeiger auf die GUID, die den Ereignisblock darstellt.

[in] InstanceIndex

Wenn der Ereignisblock über mehrere Instanzen verfügt, gibt den Index der Instanz an.

[in] EventDataSize

Gibt die Anzahl der Bytes von Daten bei EventData an. Wenn für ein Ereignis keine Daten generiert werden, muss EventData null sein.

[in, optional] EventData

Ein Zeiger auf einen vom Treiber zugewiesenen nicht seitengebundenen Puffer, der Daten enthält, die vom Treiber für das Ereignis generiert wurden. Wenn für ein Ereignis keine Daten generiert werden, muss EventDataNULL sein. WMI freit den Puffer ohne weitere Intervention durch den Treiber.

Rückgabewert

WmiFireEvent verteilt den von IoWmiWriteEvent zurückgegebenen Status oder gibt STATUS_INSUFFICIENT_RESOURCES zurück, wenn der Speicher für das Ereignis nicht zugewiesen werden konnte.

Hinweise

Ein Treiber ruft WmiFireEvent auf, um ein Ereignis an WMI zu senden, um alle Datenkunden zu übermitteln, die die Benachrichtigung des Ereignisses angefordert haben. Alle zeiger, die an WmiFireEvent übergeben werden, müssen auf nichtpagierbaren Speicher verweisen, z. B. nicht ausseitiger Pool.

Der Treiber sendet ein Ereignis nur, wenn es zuvor von der DpWmiFunctionControl-Routine des Treibers aktiviert wurde, die WMI aufruft, um eine IRP_MN_ENABLE_EVENT Anforderung zu verarbeiten.

Der Treiber schreibt alle Daten, die dem Ereignis zugeordnet sind, an den Puffer bei EventData. WMI füllt eine WNODE_SINGLE_INSTANCE Struktur mit den Daten aus und ruft IoWmiWriteEvent auf, um das Ereignis bereitzustellen.

Weitere Informationen zur Ereignisablaufverfolgung finden Sie unter WMI-Ereignisablaufverfolgung.

Requirements (Anforderungen)

   
Unterstützte Mindestversion (Client) Ab Windows 2000 verfügbar.
Zielplattform Universell
Header wmilib.h (einschließen Wmilib.h)
Bibliothek Wmilib.lib
IRQL <= DISPATCH_LEVEL

Weitere Informationen

DpWmiFunctionControl

IRP_MN_ENABLE_EVENTS

WmiSystemControl