Condividi tramite


Funzione EventProviderEnabled (evntprov.h)

Determina se un provider di eventi deve generare un evento specifico in base al livello e alla parola chiave dell'evento.

Restituisce FALSE se ETW può determinare rapidamente che nessuna sessione è in ascolto di un evento specificato dal provider specificato. In caso contrario, restituisce TRUE.

Sintassi

BOOLEAN EVNTAPI EventProviderEnabled(
  [in] REGHANDLE RegHandle,
  [in] UCHAR     Level,
  [in] ULONGLONG Keyword
);

Parametri

[in] RegHandle

Handle di registrazione del provider. L'handle proviene da EventRegister.

Se RegHandle è NULL, EventProviderEnabled restituirà FALSE.

[in] Level

Numero a 8 bit usato per descrivere la gravità o l'importanza di un evento. Per altre informazioni sui valori a livello di evento, vedere EVENT_DESCRIPTOR.

[in] Keyword

Maschera a 64 bit usata per indicare l'appartenenza di un evento in un set di categorie di eventi. Per altre informazioni sui valori delle parole chiave dell'evento, vedere EVENT_DESCRIPTOR.

Valore restituito

Restituisce FALSE se ETW può determinare rapidamente che nessuna sessione è in ascolto di un evento specificato dal provider specificato. In caso contrario, restituisce TRUE.

Commenti

Questa API offre un modo semplice per determinare se un evento è abilitato (ad esempio, se le sessioni consumer di eventi sono interessate a ricevere l'evento) in base all'handle del provider, al livello di evento e alla parola chiave event.

Nota

Questa API esegue un test rapido conservativo. È possibile che questa API restituisca true in determinati casi in cui il filtro approfondito successivo determinerà che nessuna sessione deve registrare l'evento.

Questa API offre funzionalità simili alle funzionalità fornite da EventEnabled. Quando un provider ha accesso alla EVENT_DESCRIPTOR completa di un evento, il provider deve usare EventEnabled. Quando un provider ha accesso solo al livello e alla parola chiave dell'evento, il provider deve usare EventProviderEnabled.

La maggior parte dei provider di eventi non chiamerà Direttamente EventProviderEnabled :

  • Le API EventWrite includono il proprio test EventProviderEnabled e restituiscono immediatamente se l'evento non è abilitato.
  • La maggior parte dei provider ETW usa un framework ETW (ad esempio manifesti o TraceLogging) anziché chiamare direttamente EventWrite o EventProviderEnabled. I framework ETW in genere forniscono la propria API abilitata per gli eventi che deve essere usata anziché chiamare EventProviderEnabled.
  • Le implementazioni del framework ETW controllano in genere il proprio stato del provider anziché chiamare EventProviderEnabled.

Per altri dettagli, vedere EventEnabled.

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione evntprov.h
Libreria Advapi32.lib
DLL Advapi32.dll

Vedi anche

EventEnabled

EVENT_DESCRIPTOR