Condividi tramite


Funzione TraceLoggingProviderEnabled (traceloggingprovider.h)

Macro TraceLogging per determinare se un consumer di traccia è in ascolto di un evento da questo provider.

Sintassi

TLG_PFORCEINLINE BOOLEAN TraceLoggingProviderEnabled(
  TraceLoggingHProvider hProvider,
  UCHAR                 eventLevel,
  ULONGLONG             eventKeyword
);

Parametri

hProvider

Handle per il provider TraceLogging da controllare.

eventLevel

Livello di evento da controllare. Un livello di evento pari a 0 indica eventuali eventi.

eventKeyword

Parola chiave da controllare. Una parola chiave 0 indica che non sono presenti parole chiave specifiche.

Valore restituito

Restituisce TRUE se una sessione consumer di traccia è in ascolto di eventi corrispondenti ai criteri specificati, FALSE in caso contrario.

Commenti

Questa API offre un modo semplice per determinare se un evento è abilitato, ad esempio se le sessioni consumer di eventi sarebbero interessate a ricevere un evento dal provider specificato con il livello e la parola chiave specificati.

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 effettivamente registrare l'evento.

La maggior parte dei provider di eventi non chiamerà direttamente TraceLoggingProviderEnabled . La macro TraceLoggingWrite esegue il proprio test TraceLoggingProviderEnabled e restituisce immediatamente se l'evento non è abilitato. Tuttavia, può essere utile per un provider chiamare TraceLoggingProviderEnabled prima di eseguire operazioni di preparazione complesse prima di richiamare una macro TraceLoggingWrite .

Esempio

// Skip GetMyInformation() if nobody is listening for MyInformationEvent:
if (TraceLoggingProviderEnabled(MyProvider, MyEventLevel, MyEventKeyword))
{
    MY_INFORMATION info;
    GetMyInformation(&info);

    TraceLoggingWrite(
        MyProvider,
        "MyInformationEvent",
        TraceLoggingLevel(MyEventLevel),
        TraceLoggingKeyword(MyEventKeyword),
        TraceLoggingValue(info.Val1),
        TraceLoggingValue(info.Val2));
}

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Intestazione traceloggingprovider.h

Vedi anche

TraceLoggingWrite

Macro wrapper TraceLogging

EventProviderEnabled