Funzione WmiFireEvent (wmilib.h)
La routine WmiFireEvent invia un evento a WMI per il recapito ai consumer di dati che hanno richiesto la notifica dell'evento.
Sintassi
NTSTATUS WmiFireEvent(
[in] PDEVICE_OBJECT DeviceObject,
[in] LPCGUID Guid,
[in] ULONG InstanceIndex,
[in] ULONG EventDataSize,
[in, optional] PVOID EventData
);
Parametri
[in] DeviceObject
Puntatore alla DEVICE_OBJECT del conducente.
[in] Guid
Puntatore al GUID che rappresenta il blocco eventi.
[in] InstanceIndex
Se il blocco di eventi ha più istanze, specifica l'indice dell'istanza.
[in] EventDataSize
Specifica il numero di byte di dati in EventData. Se non vengono generati dati per un evento, EventData deve essere zero.
[in, optional] EventData
Puntatore a un buffer non a pagina allocato driver contenente i dati generati dal driver per l'evento. Se non vengono generati dati per un evento, EventData deve essere NULL. WMI libera il buffer senza ulteriore intervento dal driver.
Valore restituito
WmiFireEvent propaga lo stato restituito da IoWmiWriteEvent oppure restituisce STATUS_INSUFFICIENT_RESOURCES se non è stato possibile allocare memoria per l'evento.
Commenti
Un driver chiama WmiFireEvent per inviare un evento a WMI per il recapito a tutti i consumer di dati che hanno richiesto la notifica dell'evento. Tutti i puntatori passati a WmiFireEvent devono puntare alla memoria nonpagable, ad esempio il pool non di pagine.
Il driver invia un evento solo se è stato abilitato in precedenza dalla routine DpWmiFunctionControl del driver, che WMI chiama per elaborare una richiesta di IRP_MN_ENABLE_EVENT .
Il driver scrive tutti i dati associati all'evento nel buffer in EventData. WMI riempie una struttura WNODE_SINGLE_INSTANCE con i dati e chiama IoWmiWriteEvent per recapitare l'evento.
Per altre informazioni sulla traccia degli eventi, vedere Traccia eventi WMI.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 2000. |
Piattaforma di destinazione | Universale |
Intestazione | wmilib.h (includere Wmilib.h) |
Libreria | Wmilib.lib |
IRQL | <= DISPATCH_LEVEL |