Share via


Función TraceLoggingProviderEnabled (traceloggingprovider.h)

Macro TraceLogging para determinar si un consumidor de seguimiento está escuchando un evento de este proveedor.

Sintaxis

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

Parámetros

hProvider

Identificador del proveedor TraceLogging que se va a comprobar.

eventLevel

Nivel de evento que desea comprobar. Un nivel de evento de 0 indica cualquier evento.

eventKeyword

Palabra clave que desea comprobar. Una palabra clave 0 indica que no hay palabras clave específicas.

Valor devuelto

Devuelve TRUE si alguna sesión de consumidor de seguimiento escucha eventos que coinciden con los criterios especificados; de lo contrario, FALSE .

Comentarios

Esta API proporciona una manera sencilla de determinar si un evento está habilitado, es decir, si alguna sesión de consumidor de eventos estaría interesada en recibir un evento del proveedor especificado con el nivel y la palabra clave especificados.

Nota

Esta API realiza una prueba rápida conservadora. Es posible que esta API devuelva true en determinados casos en los que el filtrado detallado posterior determinaría que ninguna sesión realmente necesita grabar el evento.

La mayoría de los proveedores de eventos no llamarán directamente a TraceLoggingProviderEnabled . La macro TraceLoggingWrite realiza su propia prueba TraceLoggingProviderEnabled y devuelve inmediatamente si el evento no está habilitado. Sin embargo, puede ser útil que un proveedor llame a TraceLoggingProviderEnabled antes de realizar preparativos complejos antes de invocar una macro TraceLoggingWrite .

Ejemplos

// 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));
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Encabezado traceloggingprovider.h

Consulte también

TraceLoggingWrite

Macros contenedoras de TraceLogging

EventProviderEnabled