Función EventProviderEnabled (evntprov.h)

Determina si un proveedor de eventos debe generar un evento determinado basado en el nivel y la palabra clave 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 EventProviderEnabled(
  [in] REGHANDLE RegHandle,
  [in] UCHAR     Level,
  [in] ULONGLONG Keyword
);

Parámetros

[in] RegHandle

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

Si RegHandle es NULL, EventProviderEnabled devolverá FALSE.

[in] Level

Número de 8 bits usado para describir la gravedad o importancia de un evento. Consulte EVENT_DESCRIPTOR para obtener más información sobre los valores de nivel de evento.

[in] Keyword

Máscara de bits de 64 bits usada para indicar la pertenencia de un evento en un conjunto de categorías de eventos. Consulte EVENT_DESCRIPTOR para obtener más información sobre los valores de palabra clave de evento.

Valor devuelto

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

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, el nivel de evento y la palabra clave event.

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 EventEnabled. 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 EventProviderEnabled :

  • Las API de EventWrite incluyen su propia prueba eventProviderEnabled 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 EventProviderEnabled. Los marcos ETW suelen proporcionar su propia API habilitada para eventos que se debe usar en lugar de llamar a EventProviderEnabled.
  • Las implementaciones del marco ETW suelen comprobar su propio estado de proveedor en lugar de llamar a EventProviderEnabled.

Para más información, consulte 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

EventEnabled

EVENT_DESCRIPTOR