Поделиться через


Функция TraceLoggingProviderEnabled (traceloggingprovider.h)

Макрос TraceLogging, чтобы определить, прослушивает ли какой-либо потребитель трассировки событие от этого поставщика.

Синтаксис

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

Параметры

hProvider

Дескриптор поставщика TraceLogging для проверка.

eventLevel

Уровень событий, который требуется проверка. Уровень события 0 указывает на любые события.

eventKeyword

Проверка ключевое слово. Ключевое слово 0 указывает на отсутствие определенных ключевых слов.

Возвращаемое значение

Возвращает значение TRUE , если какой-либо сеанс потребителя трассировки прослушивает события, соответствующие указанным условиям, в противном случае — FALSE .

Комментарии

Этот API предоставляет простой способ определить, включено ли событие, т. е. будет ли любой сеанс потребителя события заинтересован в получении события от указанного поставщика с указанным уровнем и ключевое слово.

Примечание

Этот API выполняет консервативный быстрый тест. Этот API может возвращать значение true в некоторых случаях, когда последующая глубокая фильтрация определит, что сеансы на самом деле не должны записывать событие.

Большинство поставщиков событий не вызывают TraceLoggingProviderEnabled напрямую. Макрос TraceLoggingWrite выполняет собственный тест TraceLoggingProviderEnabled и возвращается немедленно, если событие не включено. Однако поставщику может быть полезно вызвать TraceLoggingProviderEnabled перед выполнением сложной подготовки перед вызовом макроса TraceLoggingWrite .

Примеры

// 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));
}

Требования

Требование Значение
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Верхняя часть traceloggingprovider.h

См. также раздел

TraceLoggingWrite

Макросы-оболочки TraceLogging

EventProviderEnabled