Compartilhar via


Função TraceLoggingProviderEnabled (traceloggingprovider.h)

Macro TraceLogging para determinar se um consumidor de rastreamento está escutando um evento desse provedor.

Sintaxe

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

Parâmetros

hProvider

O identificador para o provedor TraceLogging a ser marcar.

eventLevel

O nível de evento que você deseja marcar. Um nível de evento de 0 indica qualquer evento.

eventKeyword

O palavra-chave que você quer marcar. Um palavra-chave de 0 não indica palavras-chave específicas.

Retornar valor

Retornará TRUE se qualquer sessão do consumidor de rastreamento estiver escutando eventos que correspondam aos critérios especificados; caso contrário, FALSE .

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 estaria interessada em receber um evento do provedor especificado com o nível e o palavra-chave especificados.

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 realmente precisa registrar o evento.

A maioria dos provedores de eventos não chamará TraceLoggingProviderEnabled diretamente. A macro TraceLoggingWrite executa seu próprio teste TraceLoggingProviderEnabled e retorna imediatamente se o evento não estiver habilitado. No entanto, pode ser útil para um provedor chamar TraceLoggingProviderEnabled antes de executar preparações complexas antes de invocar uma macro TraceLoggingWrite .

Exemplos

// 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 Valor
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Cabeçalho traceloggingprovider.h

Confira também

TraceLoggingWrite

Macros de wrapper traceLogging

EventProviderEnabled