Funzione WdfWmiInstanceFireEvent (wdfwmi.h)
[Si applica solo a KMDF]
Il metodo WdfWmiInstanceFireEvent invia un evento WMI ai client WMI registrati per ricevere la notifica degli eventi.
Sintassi
NTSTATUS WdfWmiInstanceFireEvent(
[in] WDFWMIINSTANCE WmiInstance,
[in, optional] ULONG EventDataSize,
[in, optional] PVOID EventData
);
Parametri
[in] WmiInstance
Handle di un oggetto istanza WMI ottenuto dal driver da una chiamata precedente a WdfWmiInstanceCreate.
[in, optional] EventDataSize
Dimensioni, in byte, dei dati dell'evento a cui EventData punta.
[in, optional] EventData
Puntatore ai dati dell'evento o NULL se non sono presenti dati dell'evento.
Valore restituito
WdfWmiInstanceFireEvent restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questo metodo potrebbe restituire uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
Memoria insufficiente. |
|
Tentativo del framework di comunicare con WMI non riuscito. |
|
Il buffer dei dati dell'evento è troppo grande. |
Questo metodo potrebbe anche restituire altri valori NTSTATUS .
Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.
Osservazioni
Il driver deve chiamare WdfWmiInstanceFireEvent solo se un client WMI è registrato per la notifica degli eventi. Il driver può determinare se deve chiamare WdfWmiInstanceFireEvent fornendo un EvtWmiProviderFunctionControl funzione di callback o chiamando WdfWmiProviderIsEnabled.
Il driver deve inserire i dati specifici dell'evento, se presenti, nel buffer a cui punta il parametro EventData. Il framework aggiunge tutte le informazioni necessarie sull'intestazione WMI.
Per altre informazioni sul metodo di WdfWmiInstanceFireEvent, vedere Supporto di WMI in Framework-Based Driver.
Esempi
Nell'esempio di codice seguente viene inviato un evento WMI ai client WMI.
MY_WMI_EVENT_DATA eventData;
NTSTATUS status;
status = WdfWmiInstanceFireEvent(
WmiInstance,
sizeof(eventData),
(PVOID)&eventData
);
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
versione minima di KMDF | 1.0 |
intestazione | wdfwmi.h (include Wdf.h) |
libreria | Wdf01000.sys (vedere Controllo delle versioni della libreria framework). |
IRQL | <= APC_LEVEL |
regole di conformità DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |