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 al DEVICE_OBJECTdel driver.
[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 di pagina allocato dal 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 da parte del driver.
Valore restituito
wmiFireEvent propaga lo stato restituito da IoWmiWriteEvento restituisce STATUS_INSUFFICIENT_RESOURCES se non è stato possibile allocare memoria per l'evento.
Osservazioni
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 a memoria nonpagable, ad esempio pool non di paging.
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 compila 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.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 2000. |
piattaforma di destinazione | Universale |
intestazione | wmilib.h (include Wmilib.h) |
libreria | Wmilib.lib |
IRQL | <= DISPATCH_LEVEL |