Função EventEnabled (evntprov.h)

Determina se um provedor de eventos deve gerar um evento específico com base no EVENT_DESCRIPTOR do evento.

Retornará FALSE se o ETW puder determinar rapidamente que nenhuma sessão está escutando um evento especificado do provedor especificado. Caso contrário, retornará TRUE.

Sintaxe

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

Parâmetros

[in] RegHandle

Identificador de registro do provedor. O identificador vem de EventRegister.

Se RegHandle for NULL, EventEnabled retornará FALSE.

[in] EventDescriptor

EVENT_DESCRIPTOR que fornece informações que serão usadas para determinar se o evento está habilitado. Isso inclui o Nível (severidade) e a Palavra-chave (categorias) do evento.

Valor retornado

Retornará FALSE se o provedor ignorar a geração do evento, ou seja, retornará FALSE se o ETW puder determinar rapidamente que nenhuma sessão de coleta de eventos registraria um evento do provedor fornecido com o descritor especificado. Caso contrário, retornará TRUE, indicando que o provedor deve gerar o evento.

Comentários

Essa API fornece uma maneira simples de determinar se um evento está habilitado (ou seja, se alguma sessão de consumidor de evento está interessada em receber o evento) com base no identificador do provedor e no descritor de evento.

Observação

Essa API executa um teste rápido conservador. É possível que essa API retorne true em determinados casos em que a filtragem detalhada subsequente determinaria que nenhuma sessão precisa registrar o evento.

Essa API fornece funcionalidade semelhante à funcionalidade fornecida por EventProviderEnabled. Quando um provedor tem acesso ao EVENT_DESCRIPTOR completo de um evento, o provedor deve usar EventEnabled. Quando um provedor tem acesso somente ao Nível e à Palavra-chave do evento, o provedor deve usar EventProviderEnabled.

A maioria dos provedores de eventos não chamará EventEnabled diretamente:

  • As APIs EventWrite incluem seu próprio teste EventEnabled e retornam imediatamente se o evento não estiver habilitado.
  • A maioria dos provedores ETW usa uma estrutura ETW (por exemplo, manifestos ou TraceLogging) em vez de chamar diretamente EventWrite ou EventEnabled. As estruturas ETW geralmente fornecem sua própria API habilitada para eventos que deve ser usada em vez de chamar EventEnabled.
  • As implementações da estrutura ETW geralmente marcar seu próprio estado de provedor em vez de chamar EventEnabled.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho evntprov.h
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

EventProviderEnabled

EVENT_DESCRIPTOR