WdfWmiInstanceFireEvent-Funktion (wdfwmi.h)
[Gilt nur für KMDF]
Die WdfWmiInstanceFireEvent--Methode sendet ein WMI-Ereignis an WMI-Clients, die für den Empfang von Ereignisbenachrichtigungen registriert sind.
Syntax
NTSTATUS WdfWmiInstanceFireEvent(
[in] WDFWMIINSTANCE WmiInstance,
[in, optional] ULONG EventDataSize,
[in, optional] PVOID EventData
);
Parameter
[in] WmiInstance
Ein Handle für ein WMI-Instanzobjekt, das der Treiber aus einem vorherigen Aufruf von WdfWmiInstanceCreateabgerufen 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 |
---|---|
|
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-Wertezurückgeben.
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Bemerkungen
Ihr Treiber sollte WdfWmiInstanceFireEvent- nur aufrufen, wenn ein WMI-Client für die Ereignisbenachrichtigung registriert wurde. Der Treiber kann ermitteln, ob WdfWmiInstanceFireEvent- aufgerufen werden soll, indem eine EvtWmiProviderFunctionControl Rückruffunktion bereitgestellt wird oder WdfWmiProviderIsEnabledaufgerufen wird.
Der Treiber sollte die ereignisspezifischen Daten ggf. im 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ützen 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- | Universal |
Minimale KMDF-Version | 1.0 |
Header- | wdfwmi.h (einschließen Wdf.h) |
Library | Wdf01000.sys (siehe Framework-Bibliotheksversionsverwaltung.) |
IRQL- | <= APC_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |