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 a 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 di 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. |
|
Il tentativo del framework di comunicare con WMI non è riuscito. |
|
Il buffer dei dati dell'evento è troppo grande. |
Questo metodo potrebbe restituire anche altri valori NTSTATUS.
Un controllo di bug si verifica se il driver fornisce un handle di oggetti non valido.
Commenti
Il driver deve chiamare WdfWmiInstanceFireEvent solo se un client WMI ha registrato per la notifica degli eventi. Il driver può determinare se deve chiamare WdfWmiInstanceFireEvent fornendo una funzione di callback EvtWmiProviderFunctionControl 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 di intestazione WMI necessarie.
Per altre informazioni sul metodo WdfWmiInstanceFireEvent , vedere Supporto di WMI in Framework-Based Driver.
Esempio
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
);
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Intestazione | wdfwmi.h (include Wdf.h) |
Libreria | Wdf01000.sys (vedere Framework Library Versioning). |
IRQL | <= APC_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |