Compartir a través de


Función EventEnabled (evntprov.h)

Determina si un proveedor de eventos debe generar un evento determinado basado en el EVENT_DESCRIPTOR del evento.

Devuelve FALSE si ETW puede determinar rápidamente que ninguna sesión escucha un evento especificado del proveedor especificado. De lo contrario, devuelve TRUE.

Sintaxis

BOOLEAN EVNTAPI EventEnabled(
  [in] REGHANDLE          RegHandle,
  [in] PCEVENT_DESCRIPTOR EventDescriptor
);

Parámetros

[in] RegHandle

Identificador de registro del proveedor. El identificador procede de EventRegister.

Si RegHandle es NULL, EventEnabled devolverá FALSE.

[in] EventDescriptor

EVENT_DESCRIPTOR que proporciona información que se usará para determinar si el evento está habilitado. Esto incluye el nivel (gravedad) del evento y la palabra clave (categorías).

Valor devuelto

Devuelve FALSE si el proveedor debe omitir la generación del evento, es decir, devuelve FALSE si ETW puede determinar rápidamente que ninguna sesión de recopilación de eventos registraría un evento del proveedor especificado con el descriptor especificado. De lo contrario, devuelve TRUE, lo que indica que el proveedor debe generar el evento.

Comentarios

Esta API proporciona una manera sencilla de determinar si un evento está habilitado (es decir, si alguna sesión de consumidor de eventos está interesada en recibir el evento) en función del identificador del proveedor y el descriptor de eventos.

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 necesita grabar el evento.

Esta API proporciona una funcionalidad similar a la que proporciona EventProviderEnabled. Cuando un proveedor tiene acceso a la EVENT_DESCRIPTOR completa de un evento, el proveedor debe usar EventEnabled. Cuando un proveedor solo tiene acceso al nivel y la palabra clave del evento, el proveedor debe usar EventProviderEnabled.

La mayoría de los proveedores de eventos no llamarán directamente a EventEnabled :

  • Las API de EventWrite incluyen su propia prueba eventEnabled y devuelven inmediatamente si el evento no está habilitado.
  • La mayoría de los proveedores ETW usan un marco ETW (por ejemplo, manifiestos o TraceLogging) en lugar de llamar directamente a EventWrite o EventEnabled. Por lo general, los marcos ETW proporcionan su propia API habilitada para eventos que se debe usar en lugar de llamar a EventEnabled.
  • Las implementaciones del marco ETW suelen comprobar su propio estado de proveedor en lugar de llamar a EventEnabled.

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado evntprov.h
Library Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

EventProviderEnabled

EVENT_DESCRIPTOR