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 |