WdfWmiInstanceFireEvent-Funktion (wdfwmi.h)
[Gilt nur für KMDF]
Die WdfWmiInstanceFireEvent-Methode sendet ein WMI-Ereignis an WMI-Clients, die sich für den Empfang von Ereignisbenachrichtigungen registriert haben.
Syntax
NTSTATUS WdfWmiInstanceFireEvent(
[in] WDFWMIINSTANCE WmiInstance,
[in, optional] ULONG EventDataSize,
[in, optional] PVOID EventData
);
Parameter
[in] WmiInstance
Ein Handle für ein WMI-instance-Objekt, das der Treiber aus einem vorherigen Aufruf von WdfWmiInstanceCreate abgerufen hat.
[in, optional] EventDataSize
Die Größe der Ereignisdaten in Bytes, auf die EventData verweist.
[in, optional] EventData
Ein Zeiger auf die Ereignisdaten oder NULL , wenn keine Ereignisdaten vorhanden sind.
Rückgabewert
WdfWmiInstanceFireEvent gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Methode möglicherweise einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
Es war nicht genügend Arbeitsspeicher vorhanden. |
|
Fehler beim Versuch des Frameworks, mit WMI zu kommunizieren. |
|
Der Ereignisdatenpuffer war zu groß. |
Diese Methode kann auch andere NTSTATUS-Werte zurückgeben.
Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.
Hinweise
Ihr Treiber sollte WdfWmiInstanceFireEvent nur aufrufen, wenn sich ein WMI-Client für die Ereignisbenachrichtigung registriert hat. Der Treiber kann bestimmen, ob er WdfWmiInstanceFireEvent aufrufen soll, indem er eine EvtWmiProviderFunctionControl-Rückruffunktion bereitstellt oder WdfWmiProviderIsEnabled aufruft.
Der Treiber sollte seine ereignisspezifischen Daten ggf. in den Puffer platzieren, auf den der EventData-Parameter verweist. Das Framework fügt alle erforderlichen WMI-Headerinformationen hinzu.
Weitere Informationen zur WdfWmiInstanceFireEvent-Methode finden Sie unter Unterstützung von WMI in Framework-Based Drivers.
Beispiele
Im folgenden Codebeispiel wird ein WMI-Ereignis an WMI-Clients gesendet.
MY_WMI_EVENT_DATA eventData;
NTSTATUS status;
status = WdfWmiInstanceFireEvent(
WmiInstance,
sizeof(eventData),
(PVOID)&eventData
);
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.0 |
Kopfzeile | wdfwmi.h (einschließen von Wdf.h) |
Bibliothek | Wdf01000.sys (siehe Versionsverwaltung der Frameworkbibliothek).) |
IRQL | <= APC_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |