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


Функция обратного вызова ETWENABLECALLBACK (wdm.h)

Функция EtwEnableCallback — это дополнительная функция обратного вызова, предоставляемая драйвером, которая используется для получения уведомлений о включении или отключении.

Синтаксис

ETWENABLECALLBACK Etwenablecallback;

void Etwenablecallback(
  [in]                LPCGUID SourceId,
                      ULONG ControlCode,
  [in]                UCHAR Level,
  [in]                ULONGLONG MatchAnyKeyword,
  [in]                ULONGLONG MatchAllKeyword,
  [in, optional]      PEVENT_FILTER_DESCRIPTOR FilterData,
  [in, out, optional] PVOID CallbackContext
)
{...}

Параметры

[in] SourceId

ИДЕНТИФИКАТОР GUID, определяющий сеанс, в котором включен поставщик.

ControlCode

[in] Level

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

Это значение передается в параметр Level функции EnableTraceEx или параметр EnableLevel функции EnableTrace .

[in] MatchAnyKeyword

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

Это значение передается в параметр MatchAnyKeyword функции EnableTraceEx или параметр EnableFlag функции EnableTrace . MatchAnyKeyword является 64-разрядным значением и по сути является расширенной версией 32-разрядной версии EnableFlag.

[in] MatchAllKeyword

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

Это значение передается в параметре MatchAllKeywords функции EnableTraceEx .

[in, optional] FilterData

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

[in, out, optional] CallbackContext

Контекст функции обратного вызова, который определяется, когда поставщик вызвал EtwRegister для регистрации. Этот параметр является необязательным.

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

None

Remarks

Используйте функцию EtwRegister, чтобы указать указатель на функцию EtwEnableCallback .

Используйте параметр FilterData функции обратного вызова, чтобы предоставить поставщику сложные возможности фильтрации. Функция EtwEnableCallback не заменяет вызовы функций enable-status (EtwEventEnabled и EtwProviderEnabled). Тем не менее, он служит дополнением к ним. Однако, если уровень и ключевые слова не включены в данный момент, событие не будет записано независимо от filterData , которое предоставляет функция обратного вызова.

Вызывающие функции EtwEnableCallback должны выполняться в среде IRQL = PASSIVE_LEVEL в контексте системного потока.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях Windows.
Целевая платформа Персональный компьютер
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h)
IRQL PASSIVE_LEVEL

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

EnableTrace

EnableTraceEx

EtwEventEnabled

EtwProviderEnabled

EtwRegister

Дескриптор фильтра событий