Freigeben über


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
STATUS_INSUFFICIENT_RESOURCES
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-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)

Siehe auch

EvtWmiProviderFunctionControl

WdfWmiInstanceCreate

WdfWmiProviderIsEnabled-