Condividi tramite


Funzione EventEnabled (evntprov.h)

Determina se un provider di eventi deve generare un determinato evento in base al EVENT_DESCRIPTOR 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 EventEnabled(
  [in] REGHANDLE          RegHandle,
  [in] PCEVENT_DESCRIPTOR EventDescriptor
);

Parametri

[in] RegHandle

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

Se RegHandle è NULL, EventEnabled restituirà FALSE.

[in] EventDescriptor

EVENT_DESCRIPTOR che fornisce informazioni che verranno utilizzate per determinare se l'evento è abilitato. Sono inclusi il livello (gravità) dell'evento e la parola chiave (categorie).

Valore restituito

Restituisce FALSE se il provider deve ignorare la generazione dell'evento, ovvero restituisce FALSE se ETW può determinare rapidamente che nessuna sessione di raccolta eventi registra un evento dal provider specificato con il descrittore specificato. In caso contrario, restituisce TRUE, che indica che il provider deve generare l'evento.

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 e al descrittore di eventi.

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 fornisce funzionalità simili alle funzionalità fornite da EventProviderEnabled. 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 EventEnabled :

  • Le API EventWrite includono il proprio test EventEnabled 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 EventEnabled. I framework ETW in genere forniscono la propria API abilitata per gli eventi che deve essere usata invece di chiamare EventEnabled.
  • Le implementazioni del framework ETW controllano in genere il proprio stato del provider anziché chiamare 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

EventProviderEnabled

EVENT_DESCRIPTOR