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
STATUS_INSUFFICIENT_RESOURCES
Es war nicht genügend Arbeitsspeicher vorhanden.
STATUS_UNSUCCESSFUL
Fehler beim Versuch des Frameworks, mit WMI zu kommunizieren.
STATUS_BUFFER_OVERFLOW
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)

Weitere Informationen

EvtWmiProviderFunctionControl

WdfWmiInstanceCreate

WdfWmiProviderIsEnabled