Share via


WmiFireEvent-Funktion (wmilib.h)

Die WmiFireEvent-Routine sendet ein Ereignis an WMI zur Übermittlung an Datenverbraucher, 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 des instance an.

[in] EventDataSize

Gibt die Anzahl der Datenbytes in EventData an. Wenn keine Daten für ein Ereignis generiert werden, muss EventData 0 sein.

[in, optional] EventData

Ein Zeiger auf einen vom Treiber zugewiesenen nicht auslagerten Puffer, der vom Treiber für das Ereignis generierte Daten enthält. Wenn keine Daten für ein Ereignis generiert werden, muss EventDataNULL sein. WMI gibt den Puffer ohne weiteres Eingreifen des Treibers frei.

Rückgabewert

WmiFireEvent gibt die von IoWmiWriteEvent zurückgegebene status weiter oder gibt STATUS_INSUFFICIENT_RESOURCES zurück, wenn kein Arbeitsspeicher für das Ereignis zugewiesen werden konnte.

Hinweise

Ein Treiber ruft WmiFireEvent auf, um ein Ereignis an WMI zur Übermittlung an alle Datenverbraucher zu senden, die eine Benachrichtigung über das Ereignis angefordert haben. Alle Zeiger, die an WmiFireEvent übergeben werden, müssen auf nicht übersetzbaren Arbeitsspeicher verweisen, z. B. auf einen nicht auslieferbaren 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 dem Ereignis zugeordneten Daten in den Puffer unter EventData. WMI füllt eine WNODE_SINGLE_INSTANCE-Struktur mit den Daten und ruft IoWmiWriteEvent auf, um das Ereignis zu übermitteln.

Weitere Informationen zur Ereignisablaufverfolgung finden Sie unter WMI-Ereignisablaufverfolgung.

Anforderungen

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

Weitere Informationen

DpWmiFunctionControl

IRP_MN_ENABLE_EVENTS

WmiSystemControl