Função EventProviderEnabled (evntprov.h)
Determina se um provedor de eventos deve gerar um evento específico com base no nível e na palavra-chave 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 EventProviderEnabled(
[in] REGHANDLE RegHandle,
[in] UCHAR Level,
[in] ULONGLONG Keyword
);
Parâmetros
[in] RegHandle
Identificador de registro do provedor. O identificador vem de EventRegister.
Se RegHandle for NULL, EventProviderEnabled retornará FALSE.
[in] Level
Um número de 8 bits usado para descrever a gravidade ou a importância de um evento. Consulte EVENT_DESCRIPTOR para obter mais informações sobre valores de nível de evento.
[in] Keyword
Uma máscara de bits de 64 bits usada para indicar a associação de um evento em um conjunto de categorias de evento. Consulte EVENT_DESCRIPTOR para obter mais informações sobre valores de palavra-chave de eventos.
Valor retornado
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.
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, no nível do evento e no evento palavra-chave.
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 pelo EventEnabled. 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á EventProviderEnabled diretamente:
- As APIs EventWrite incluem seu próprio teste EventProviderEnabled 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 EventProviderEnabled. As estruturas ETW geralmente fornecem sua própria API habilitada para eventos que deve ser usada em vez de chamar EventProviderEnabled.
- As implementações da estrutura ETW geralmente marcar seu próprio estado de provedor em vez de chamar EventProviderEnabled.
Para obter detalhes adicionais, consulte 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 |