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


Функция EventProviderEnabled (evntprov.h)

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

Возвращает значение FALSE , если трассировка событий Windows может быстро определить, что ни один сеанс не прослушивает указанное событие от заданного поставщика. В противном случае возвращает значение TRUE.

Синтаксис

BOOLEAN EVNTAPI EventProviderEnabled(
  [in] REGHANDLE RegHandle,
  [in] UCHAR     Level,
  [in] ULONGLONG Keyword
);

Параметры

[in] RegHandle

Дескриптор регистрации поставщика. Дескриптор поступает из EventRegister.

Если regHandle имеет значение NULL, EventProviderEnabled возвращает значение FALSE.

[in] Level

8-разрядное число, используемое для описания серьезности или важности события. Дополнительные сведения о значениях уровня событий см. в разделе EVENT_DESCRIPTOR .

[in] Keyword

64-разрядная битовая маска, используемая для указания членства события в наборе категорий событий. Дополнительные сведения о значениях ключевое слово событий см. в EVENT_DESCRIPTOR.

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

Возвращает значение FALSE , если трассировка событий Windows может быстро определить, что ни один сеанс не прослушивает указанное событие от заданного поставщика. В противном случае возвращает значение TRUE.

Комментарии

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

Примечание

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

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

Большинство поставщиков событий не вызывают EventProviderEnabled напрямую:

  • API EventWrite включают собственный тест EventProviderEnabled и немедленно возвращаются, если событие не включено.
  • Большинство поставщиков трассировки событий Windows используют платформу трассировки событий Windows (например, манифесты или TraceLogging) вместо прямого вызова EventWrite или EventProviderEnabled. Платформы трассировки событий Windows обычно предоставляют собственный API с поддержкой событий, который следует использовать вместо вызова EventProviderEnabled.
  • Реализации платформы трассировки событий Windows обычно проверка собственное состояние поставщика, а не вызов EventProviderEnabled.

Дополнительные сведения см. в разделе EventEnabled.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header evntprov.h
Библиотека Advapi32.lib
DLL Advapi32.dll

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

EventEnabled

EVENT_DESCRIPTOR